prop/test
Graham McIntire bba860f28d
fix(propagation): dedup PropagationGridWorker enqueues
FreshnessMonitor's comment claimed 'Oban unique constraint on
PropagationGridWorker prevents duplicates' — but the worker declared
no unique: option. During a long outage the monitor's 5-min stale-check
tick would pile up identical jobs (a 2h outage = 24 stacked jobs, each
doing the full f00-f18 HRRR chain).

Put the dedup on the worker (vs. the monitor's insert call) so anything
enqueuing it benefits — FreshnessMonitor, the hourly cron, or a manual
mix propagation_grid run.

unique: [period: 3600, states: [:available, :scheduled, :executing,
:retryable]] aligns with the hourly cron cadence. The seed job args
(%{}) collapse with themselves while chain-step jobs keep distinct
run_time/forecast_hour and remain enqueuable.
2026-04-16 14:58:55 -05:00
..
fixtures NarrClient.extract_profile_from_file/3 + fetch_profile_at/2 2026-04-15 18:54:02 -05:00
microwaveprop fix(propagation): dedup PropagationGridWorker enqueues 2026-04-16 14:58:55 -05:00
microwaveprop_web Fix NARR accounting on status page and stop pre-2014 hrrr_status churn 2026-04-16 14:09:45 -05:00
mix/tasks fix enrichment 2026-04-02 15:30:41 -05:00
support Fix credo warnings: length/1 on list and nested module aliases 2026-04-16 08:49:25 -05:00
test_helper.exs Exclude slow GRIB2 fixture tests by default (81s -> 16s) 2026-03-31 10:00:13 -05:00