diff --git a/config/runtime.exs b/config/runtime.exs index fc6ec5e7..c22a1833 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -249,12 +249,15 @@ if config_env() == :prod do {"5,20,35,50 * * * *", Microwaveprop.Workers.PropagationGridWorker}, # HRDPS Canadian propagation chain. ECCC publishes HRDPS f000 # ~3-4h after each 00/06/12/18Z cycle. Worker seeds exactly one - # forecast row per fire (current hour), so we run hourly to keep - # the /weather Canadian cell within ~1h of clock time. Reseeds - # are idempotent through the (run_time, forecast_hour, kind, source) - # unique index — duplicate fires for an already-seeded hour are - # no-ops at the DB level. - {"35 * * * *", Microwaveprop.Workers.HrdpsGridWorker}, + # forecast row per fire (current hour). Reseeds are idempotent + # through the (run_time, forecast_hour, kind, source) unique + # index — duplicate fires for an already-seeded hour are no-ops + # at the DB level, so running 3×/hour costs nothing on the happy + # path and gives us 2 retry windows when a rolling deploy kills + # the pod mid-cron-tick. The single-replica `prop` deployment + # combined with frequent ArgoCD deploys was reliably missing the + # hourly :35 fire — multiple shots per hour fixes that. + {"5,25,45 * * * *", Microwaveprop.Workers.HrdpsGridWorker}, # GEFS runs publish ~3-4h after the 00/06/12/18Z cycle; seed the # Day 2-7 outlook 5h after each run to stay safely past NOMADS' # publication lag. Seeder enqueues f024-f168 at 6-hour cadence