diff --git a/config/runtime.exs b/config/runtime.exs index ea2844dd..37bab24e 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -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