精简打包之前
This commit is contained in:
@ -79,57 +79,57 @@ def cleanup_expired_tasks():
|
||||
""").fetchall()
|
||||
|
||||
if rows:
|
||||
current_app.logger.info(f"Janitor found {len(rows)} expired tasks to clean up")
|
||||
current_app.logger.info(f"Janitor found {len(rows)} expired tasks to clean up")
|
||||
|
||||
for row in rows:
|
||||
task_id = row['task_id']
|
||||
output_dir = row['output_dir']
|
||||
for row in rows:
|
||||
task_id = row['task_id']
|
||||
output_dir = row['output_dir']
|
||||
|
||||
try:
|
||||
delete_targets = []
|
||||
try:
|
||||
delete_targets = []
|
||||
|
||||
# 记录在库中的 output_dir
|
||||
if output_dir:
|
||||
p = Path(output_dir)
|
||||
delete_targets.append(p)
|
||||
# 记录在库中的 output_dir
|
||||
if output_dir:
|
||||
p = Path(output_dir)
|
||||
delete_targets.append(p)
|
||||
|
||||
# 兜底:按约定 outputs/<task_id>
|
||||
derived_output_dir = output_base / task_id if output_base else None
|
||||
if derived_output_dir and derived_output_dir not in delete_targets:
|
||||
delete_targets.append(derived_output_dir)
|
||||
# 兜底:按约定 outputs/<task_id>
|
||||
derived_output_dir = output_base / task_id if output_base else None
|
||||
if derived_output_dir and derived_output_dir not in delete_targets:
|
||||
delete_targets.append(derived_output_dir)
|
||||
|
||||
# 同时删除 uploads/<task_id>
|
||||
derived_upload_dir = upload_base / task_id if upload_base else None
|
||||
if derived_upload_dir:
|
||||
delete_targets.append(derived_upload_dir)
|
||||
# 同时删除 uploads/<task_id>
|
||||
derived_upload_dir = upload_base / task_id if upload_base else None
|
||||
if derived_upload_dir:
|
||||
delete_targets.append(derived_upload_dir)
|
||||
|
||||
if dry_run:
|
||||
for tgt in delete_targets:
|
||||
if tgt:
|
||||
current_app.logger.info(f"[DRY RUN] Would delete task {task_id} path: {tgt}")
|
||||
else:
|
||||
# 实际删除
|
||||
for tgt in delete_targets:
|
||||
try:
|
||||
if tgt and tgt.exists():
|
||||
shutil.rmtree(tgt, ignore_errors=True)
|
||||
current_app.logger.info(f"Deleted path for task {task_id}: {tgt}")
|
||||
else:
|
||||
current_app.logger.warning(f"Path not found for task {task_id}: {tgt}")
|
||||
except Exception as e:
|
||||
current_app.logger.error(f"Failed to delete path {tgt} for task {task_id}: {e}")
|
||||
if dry_run:
|
||||
for tgt in delete_targets:
|
||||
if tgt:
|
||||
current_app.logger.info(f"[DRY RUN] Would delete task {task_id} path: {tgt}")
|
||||
else:
|
||||
# 实际删除
|
||||
for tgt in delete_targets:
|
||||
try:
|
||||
if tgt and tgt.exists():
|
||||
shutil.rmtree(tgt, ignore_errors=True)
|
||||
current_app.logger.info(f"Deleted path for task {task_id}: {tgt}")
|
||||
else:
|
||||
current_app.logger.warning(f"Path not found for task {task_id}: {tgt}")
|
||||
except Exception as e:
|
||||
current_app.logger.error(f"Failed to delete path {tgt} for task {task_id}: {e}")
|
||||
|
||||
# Hard delete from database
|
||||
conn.execute(
|
||||
"DELETE FROM tasks WHERE task_id = ?",
|
||||
(task_id,)
|
||||
)
|
||||
conn.commit()
|
||||
current_app.logger.info(f"Hard deleted task {task_id} from database")
|
||||
# Hard delete from database
|
||||
conn.execute(
|
||||
"DELETE FROM tasks WHERE task_id = ?",
|
||||
(task_id,)
|
||||
)
|
||||
conn.commit()
|
||||
current_app.logger.info(f"Hard deleted task {task_id} from database")
|
||||
|
||||
except Exception as e:
|
||||
current_app.logger.error(f"Failed to delete task {task_id}: {str(e)}", exc_info=True)
|
||||
# Continue with other tasks even if one fails
|
||||
except Exception as e:
|
||||
current_app.logger.error(f"Failed to delete task {task_id}: {str(e)}", exc_info=True)
|
||||
# Continue with other tasks even if one fails
|
||||
|
||||
# Debug: Check all failed tasks
|
||||
debug_failed = conn.execute("""
|
||||
|
||||
Reference in New Issue
Block a user