申请任务目录 :param task_id: 任务id :param dirname_prefix: taskdir名称前缀 :return:任务目录路径
(self, task_id=None, dirname_prefix="task_")
| 24 | self._task_dirs_root = settings.TASK_DIR |
| 25 | |
| 26 | def acquire_task_dir(self, task_id=None, dirname_prefix="task_"): |
| 27 | """申请任务目录 |
| 28 | |
| 29 | :param task_id: 任务id |
| 30 | :param dirname_prefix: taskdir名称前缀 |
| 31 | :return:任务目录路径 |
| 32 | """ |
| 33 | if task_id: |
| 34 | task_dir = os.path.join(self._task_dirs_root, f"{dirname_prefix}{task_id}") |
| 35 | if os.path.exists(task_dir): |
| 36 | suffix_no = 1 |
| 37 | while True: |
| 38 | if not os.path.exists(os.path.join(self._task_dirs_root, f"{dirname_prefix}{task_id}_{suffix_no}")): |
| 39 | break |
| 40 | suffix_no += 1 |
| 41 | task_dir = os.path.join(self._task_dirs_root, f"{dirname_prefix}{task_id}_{suffix_no}") |
| 42 | else: # 没有传task_id,根据本地task dir名称排序,创建一个新的 |
| 43 | task_id = 1 |
| 44 | while True: |
| 45 | if not os.path.exists(os.path.join(self._task_dirs_root, f"{dirname_prefix}{task_id}")): |
| 46 | break |
| 47 | task_id += 1 |
| 48 | task_dir = os.path.join(self._task_dirs_root, f"{dirname_prefix}{task_id}") |
| 49 | |
| 50 | # 此时task_dir尚未创建,需要新建目录 |
| 51 | os.makedirs(task_dir) |
| 52 | return task_dir, task_id |
no outgoing calls