fc3h: celery_app — register backup tasks (include + maintenance route + Beat hourly tick + daily prune)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-24 22:56:06 -04:00
parent 06d527cb92
commit 1f01c4819a
+10
View File
@@ -31,6 +31,7 @@ def make_celery() -> Celery:
"backend.app.tasks.migration", "backend.app.tasks.migration",
"backend.app.tasks.ml", "backend.app.tasks.ml",
"backend.app.tasks.download", "backend.app.tasks.download",
"backend.app.tasks.backup",
], ],
) )
app.conf.update( app.conf.update(
@@ -43,6 +44,7 @@ def make_celery() -> Celery:
"backend.app.tasks.scan.*": {"queue": "scan"}, "backend.app.tasks.scan.*": {"queue": "scan"},
"backend.app.tasks.maintenance.*": {"queue": "maintenance"}, "backend.app.tasks.maintenance.*": {"queue": "maintenance"},
"backend.app.tasks.migration.*": {"queue": "maintenance"}, "backend.app.tasks.migration.*": {"queue": "maintenance"},
"backend.app.tasks.backup.*": {"queue": "maintenance"},
}, },
# Heavy ML tasks need fair dispatch — see ImageRepo's precedent. # Heavy ML tasks need fair dispatch — see ImageRepo's precedent.
task_acks_late=True, task_acks_late=True,
@@ -89,6 +91,14 @@ def make_celery() -> Celery:
"task": "backend.app.tasks.maintenance.prune_task_runs", "task": "backend.app.tasks.maintenance.prune_task_runs",
"schedule": 86400.0, # daily "schedule": 86400.0, # daily
}, },
"fc3h-backup-db-nightly": {
"task": "backend.app.tasks.backup.backup_db_nightly",
"schedule": 3600.0, # hourly tick; task self-gates on configured UTC hour
},
"fc3h-prune-backups": {
"task": "backend.app.tasks.backup.prune_backups",
"schedule": 86400.0, # daily
},
}, },
timezone="UTC", timezone="UTC",
) )