fix(oban): use paused queues instead of local_limit:0 on backfill pods
Oban Pro 2.21.1's Smart engine rejects `local_limit: 0` with "local_limit must be greater than 0", OOMing the backfill pod on every boot since the upgrade. Switch the disable pattern to `[local_limit: 1, paused: true]` so the queue still exists (satisfying the validator) but processes nothing. Verified under PROP_ROLE=backfill the four hot queues (propagation, commercial, solar, enqueue) resolve to paused=true and the others keep their normal concurrency.
This commit is contained in:
parent
fd95a82478
commit
cdfbe85485
1 changed files with 11 additions and 4 deletions
|
|
@ -167,10 +167,17 @@ if config_env() == :prod do
|
|||
|
||||
# config/config.exs sets a base Oban config (queues + cron) that Config
|
||||
# deep-merges with runtime.exs. To actually drop the hot-path queues on
|
||||
# backfill pods we have to explicitly override them to `limit: 0` rather
|
||||
# than just leaving them out — Config deep merge by key means omitted
|
||||
# values fall through to the compile-time defaults.
|
||||
disabled_hot_queues = [propagation: 0, commercial: 0, solar: 0, enqueue: 0]
|
||||
# backfill pods we can't use `limit: 0` — Oban Pro's Smart engine
|
||||
# rejects it with "local_limit must be greater than 0". Instead override
|
||||
# each queue with `paused: true` (queue exists, processes nothing).
|
||||
paused_queue = [local_limit: 1, paused: true]
|
||||
|
||||
disabled_hot_queues = [
|
||||
propagation: paused_queue,
|
||||
commercial: paused_queue,
|
||||
solar: paused_queue,
|
||||
enqueue: paused_queue
|
||||
]
|
||||
|
||||
oban_queues =
|
||||
case prop_role do
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue