失败任务定时删除
This commit is contained in:
@ -19,21 +19,24 @@ def _mark_task_downloaded(task_id):
|
||||
from ..db import get_db_path as get_config_db_path
|
||||
db_path = get_config_db_path(current_app)
|
||||
|
||||
# Get cleanup age for successful tasks from config (in seconds)
|
||||
successful_task_cleanup_age = current_app.config.get('SUCCESSFUL_TASK_CLEANUP_AGE', 3600)
|
||||
|
||||
try:
|
||||
conn = sqlite3.connect(str(db_path), check_same_thread=False)
|
||||
conn.execute("PRAGMA foreign_keys=ON")
|
||||
conn.execute("PRAGMA busy_timeout=3000")
|
||||
|
||||
# Update downloaded timestamp and set deletion time (10 minutes later)
|
||||
# Update downloaded timestamp and set deletion time based on config
|
||||
conn.execute("""
|
||||
UPDATE tasks
|
||||
SET downloaded_at = datetime('now', '+8 hours'),
|
||||
delete_after_at = datetime('now', '+8 hours', '+10 minutes')
|
||||
delete_after_at = datetime('now', '+8 hours', '+' || ? || ' seconds')
|
||||
WHERE task_id = ?
|
||||
""", (task_id,))
|
||||
""", (successful_task_cleanup_age, task_id))
|
||||
|
||||
conn.commit()
|
||||
logger.info(f"Task {task_id} marked as downloaded, scheduled for deletion in 10 minutes")
|
||||
logger.info(f"Task {task_id} marked as downloaded, scheduled for deletion in {successful_task_cleanup_age} seconds")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to mark task {task_id} as downloaded: {str(e)}", exc_info=True)
|
||||
|
||||
Reference in New Issue
Block a user