feat(phase8.3): recover_stalled_renders beat task

Detect OrderLines stuck in render_status='processing' for >30min,
revoke their Celery task, mark failed, update render_job_doc, and
emit a single CHANNEL_ALERT batch notification to admins.

Runs every 5min via beat schedule alongside recover_stuck_cad_files.
Section B (tenant_id in JWT) confirmed already complete from Phase 4.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 20:34:36 +01:00
parent da9014831a
commit 69e94e25e3
2 changed files with 101 additions and 0 deletions
+4
View File
@@ -42,5 +42,9 @@ celery_app.conf.update(
"task": "app.tasks.beat_tasks.batch_render_notifications",
"schedule": 60.0, # every 60 seconds
},
"recover-stalled-renders-every-5m": {
"task": "app.tasks.beat_tasks.recover_stalled_renders",
"schedule": 300.0, # every 5 minutes
},
},
)