prop/test/microwaveprop/workers
Graham McIntire 7ab426c01d
fix(workers): propagate transient errors so Oban retries + counters fire
CommonVolumeRadarWorker and MechanismClassifyWorker were both
returning :ok on upstream failures, so Prometheus job-failure counters
stayed at zero during multi-hour NEXRAD outages and classifier bugs
went unnoticed.

- CommonVolumeRadarWorker: distinguish permanent (4xx) from transient
  errors using the same pattern as RadarFrameWorker. Permanent errors
  still mark :unavailable + :ok so the backfill stops re-queueing them.
  Transient errors return {:error, reason} and leave radar_status alone
  so the next retry can succeed.
- MechanismClassifyWorker: keep the row-status :failed update so
  operators can see which contacts blew up, but return
  {:error, inspect(e)} from the rescue instead of swallowing it as :ok.
2026-04-21 13:15:27 -05:00
..
admin_task_worker_test.exs fix(workers): 3 bug/perf fixes from codebase review 2026-04-21 09:53:13 -05:00
backfill_enqueue_worker_test.exs fix(backfill): re-probe :unavailable contacts after a 24 h cooldown 2026-04-20 16:46:32 -05:00
canadian_sounding_fetch_worker_test.exs Ingest Canadian radiosondes via UWYO + plans for RDPS/HRDPS 2026-04-13 09:14:34 -05:00
common_volume_radar_worker_test.exs fix(workers): propagate transient errors so Oban retries + counters fire 2026-04-21 13:15:27 -05:00
contact_import_worker_test.exs fix(import): handle Radio.create_contact :duplicate return in worker 2026-04-17 09:54:17 -05:00
contact_position_backfill_worker_test.exs test: override stale distance_km when filling a missing pos 2026-04-16 14:09:45 -05:00
contact_weather_enqueue_worker_test.exs test: fix three pre-existing test flakes 2026-04-21 13:07:01 -05:00
gefs_fetch_worker_test.exs feat(gefs): score extended-horizon grid and seed cron 2026-04-18 14:41:41 -05:00
hrrr_native_grid_worker_test.exs refactor: normalize pos1/pos2 JSONB key to 'lon' everywhere 2026-04-17 09:10:32 -05:00
iemre_fetch_worker_test.exs Store stub records on empty weather fetches to prevent infinite backfill retries 2026-04-06 16:10:39 -05:00
ionosphere_fetch_worker_test.exs Ionosphere: GIRO ionosonde ingestion (foF2/foEs/hmF2/MUFD) 2026-04-15 14:37:43 -05:00
mechanism_classify_worker_test.exs fix(workers): propagate transient errors so Oban retries + counters fire 2026-04-21 13:15:27 -05:00
narr_fetch_worker_test.exs Rename ERA5 → NARR across the codebase 2026-04-16 09:22:23 -05:00
nexrad_worker_test.exs refactor: normalize pos1/pos2 JSONB key to 'lon' everywhere 2026-04-17 09:10:32 -05:00
propagation_grid_worker_test.exs feat(propagation): Phase 3 Stream A cutover — Rust owns f00..f18 2026-04-19 18:13:41 -05:00
propagation_prune_worker_test.exs test: fix three pre-existing test flakes 2026-04-21 13:07:01 -05:00
radar_frame_worker_test.exs fix(review): address code-reviewer findings 2026-04-21 10:09:46 -05:00
rtma_fetch_worker_test.exs test: cover rtma_client + rtma_fetch_worker, add Req.Test seam 2026-04-16 14:58:54 -05:00
solar_index_worker_test.exs Add type filter to backfill enqueue 2026-04-06 11:42:26 -05:00
space_weather_fetch_worker_test.exs SpaceWeather: SWPC JSON ingestion (Kp, F10.7, GOES X-ray) 2026-04-15 14:55:24 -05:00
terrain_profile_worker_test.exs Rename qsos table to contacts, qso_id to contact_id 2026-04-02 15:52:19 -05:00
weather_fetch_worker_test.exs Store stub records on empty weather fetches to prevent infinite backfill retries 2026-04-06 16:10:39 -05:00