失败任务定时删除

This commit is contained in:
2026-02-11 16:28:51 +08:00
parent b9828a1b13
commit af56c94efe
13 changed files with 782 additions and 169 deletions

View File

@ -56,6 +56,8 @@ class Config:
# Task management
TASK_CLEANUP_INTERVAL = config_reader.task_cleanup_interval
MAX_TASK_AGE = config_reader.max_task_age
SUCCESSFUL_TASK_CLEANUP_AGE = config_reader.successful_task_cleanup_age
FAILED_TASK_CLEANUP_AGE = config_reader.failed_task_cleanup_age
# Performance tuning
THREADS = config_reader.threads
@ -151,6 +153,8 @@ class Config:
'cors_origins': cls.CORS_ORIGINS,
'task_cleanup_interval': cls.TASK_CLEANUP_INTERVAL,
'max_task_age': cls.MAX_TASK_AGE,
'successful_task_cleanup_age': cls.SUCCESSFUL_TASK_CLEANUP_AGE,
'failed_task_cleanup_age': cls.FAILED_TASK_CLEANUP_AGE,
'threads': cls.THREADS,
'connection_limit': cls.CONNECTION_LIMIT,
'channel_timeout': cls.CHANNEL_TIMEOUT
@ -672,6 +676,15 @@ app.config['JANITOR_DRY_RUN'] = str(Config.JANITOR_DRY_RUN).lower()
if Config.ADMIN_BOOTSTRAP_KEY:
app.config['ADMIN_BOOTSTRAP_KEY'] = Config.ADMIN_BOOTSTRAP_KEY
# Task cleanup configuration
app.config['SUCCESSFUL_TASK_CLEANUP_AGE'] = Config.SUCCESSFUL_TASK_CLEANUP_AGE
app.config['FAILED_TASK_CLEANUP_AGE'] = Config.FAILED_TASK_CLEANUP_AGE
app.config['TASK_CLEANUP_INTERVAL'] = Config.TASK_CLEANUP_INTERVAL
# Debug logging for cleanup configuration
logger.info(f"App config: FAILED_TASK_CLEANUP_AGE = {app.config['FAILED_TASK_CLEANUP_AGE']}")
logger.info(f"App config: TASK_CLEANUP_INTERVAL = {app.config['TASK_CLEANUP_INTERVAL']}")
# Log current configuration
logger.info(f"Upload folder: {Config.UPLOAD_FOLDER}")
logger.info(f"Output folder: {Config.OUTPUT_FOLDER}")
@ -736,10 +749,10 @@ app.register_blueprint(download_bp)
app.register_blueprint(web_bp)
app.register_blueprint(api_keys_bp)
# Task status persistence now uses SQLite only
# Task status persistence now uses SQLite only
# JSON persistence has been disabled - functions removed from shared.py
# Initialize janitor for background cleanup
# Initialize janitor for background cleanup
try:
from .janitor import start_janitor, reconcile_tasks_on_startup
with app.app_context():