Check first
Review queue depth, failed jobs, current Horizon supervisors, job runtime, retry count, Redis health, database latency, and available memory.
Long-running reports
Large XLSForm, export, maintenance, or presentation jobs have longer timeouts than normal jobs. Make sure retry_after exceeds the worker timeout so the same job is not duplicated while the first copy is still running.
After deployment
Terminate Horizon so it restarts with the new application code. In containers, confirm the Horizon service is actually updated and not still running an older image.