feat(horizon): add fixed-size per-queue worker pools on Coolify Cloud

Cloud production now runs one supervisor per queue (deployments, crons,
high, default, maintenance), so a busy queue cannot starve the others.
Add maintenance_queue() for slow Docker cleanups and a shared
horizon.worker_timeout config value. Self-hosted keeps the s6 supervisor.
This commit is contained in:
Andras Bacsai
2026-10-03 21:24:54 +02:00
parent c6b8dfe367
commit e144b990c3
8 changed files with 425 additions and 43 deletions
+9
View File
@@ -31,6 +31,15 @@ DB_PORT=5432
# Coolify Cloud Horizon pools (only used when SELF_HOSTED=false and APP_ENV=production).
# Fixed worker count per node and queue. See docs/cloud-horizon-workers.md.
# HORIZON_DEPLOYMENTS_PROCESSES=60
# HORIZON_CRONS_PROCESSES=60
# HORIZON_HIGH_PROCESSES=60
# HORIZON_DEFAULT_PROCESSES=40
# Docker cleanups; small on purpose to bound concurrent slow remote prunes.
# HORIZON_MAINTENANCE_PROCESSES=10
# Server-Timing headers + on-screen HUD (defaults ON when APP_ENV=local).
# Force on in any environment (including production): SERVER_TIMING_ENABLED=true
# Force off even in local: SERVER_TIMING_ENABLED=false