fix(prop/cron): fire HrdpsGridWorker 3x/hour to survive rolling deploys
The hourly :35 fire was reliably being missed in production: the prop deployment is pinned to a single replica, and frequent ArgoCD deploys restart the pod often enough that some fires land in the swap window. Between 13:35Z and 17:25Z today the cron fired exactly zero times. Switch to :05/:25/:45. Each fire calls seed_current_hour which is idempotent on the (run_time, forecast_hour, kind, source) unique index, so duplicate inserts in the same hour are no-ops at the DB level and don't add cost on the happy path. Three shots per hour gives two retry windows when a deploy kills the pod mid-cron-tick.
This commit is contained in:
parent
4901c83916
commit
47031e17f1
1 changed files with 9 additions and 6 deletions
|
|
@ -249,12 +249,15 @@ if config_env() == :prod do
|
||||||
{"5,20,35,50 * * * *", Microwaveprop.Workers.PropagationGridWorker},
|
{"5,20,35,50 * * * *", Microwaveprop.Workers.PropagationGridWorker},
|
||||||
# HRDPS Canadian propagation chain. ECCC publishes HRDPS f000
|
# HRDPS Canadian propagation chain. ECCC publishes HRDPS f000
|
||||||
# ~3-4h after each 00/06/12/18Z cycle. Worker seeds exactly one
|
# ~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
|
# forecast row per fire (current hour). Reseeds are idempotent
|
||||||
# the /weather Canadian cell within ~1h of clock time. Reseeds
|
# through the (run_time, forecast_hour, kind, source) unique
|
||||||
# are idempotent through the (run_time, forecast_hour, kind, source)
|
# index — duplicate fires for an already-seeded hour are no-ops
|
||||||
# unique index — duplicate fires for an already-seeded hour are
|
# at the DB level, so running 3×/hour costs nothing on the happy
|
||||||
# no-ops at the DB level.
|
# path and gives us 2 retry windows when a rolling deploy kills
|
||||||
{"35 * * * *", Microwaveprop.Workers.HrdpsGridWorker},
|
# 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
|
# 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'
|
# Day 2-7 outlook 5h after each run to stay safely past NOMADS'
|
||||||
# publication lag. Seeder enqueues f024-f168 at 6-hour cadence
|
# publication lag. Seeder enqueues f024-f168 at 6-hour cadence
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue