fix(horizon): route webhook jobs to a dedicated cloud webhooks queue

On cloud, GitHub pull request webhooks and Stripe events now run on a
dedicated `webhooks` queue so a busy `high` queue cannot delay them.
Self-hosted instances keep these jobs on `high`.

- Add webhooks_queue() helper and use it in ProcessGithubPullRequestWebhook
  and StripeProcessJob
- Provision a `webhooks` Horizon pool in cloud production, sized by
  HORIZON_WEBHOOKS_PROCESSES (default 10)
- Document the new pool, rollout and rollback steps
- Cover pool provisioning and job queue routing in tests
This commit is contained in:
Andras Bacsai
2026-10-03 21:37:09 +02:00
parent 3575234b38
commit 083e71c481
7 changed files with 75 additions and 16 deletions
+2
View File
@@ -39,6 +39,8 @@ DB_PORT=5432
# HORIZON_DEFAULT_PROCESSES=40
# Docker cleanups; small on purpose to bound concurrent slow remote prunes.
# HORIZON_MAINTENANCE_PROCESSES=10
# GitHub pull request webhooks and Stripe events.
# HORIZON_WEBHOOKS_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