Extends the weather-status reconciler with symmetric sweeps for HRRR and IEMRE. Same failure mode: the worker writes data to the shared table but has no back-pointer to the contact that triggered the fetch, so contact-level status never flips unless a user views the page. - Weather.reconcile_iemre_statuses/0: iterates :queued contacts; flips :complete when every path point has an iemre_observations row at the rounded 0.125° grid cell for the qso_timestamp's date. - Weather.reconcile_hrrr_statuses/0: same shape; flips when hrrr_data_fully_present?/1 holds. - Both run alongside the existing weather sweep at the tail of ContactWeatherEnqueueWorker.perform/1. Kept in Elixir (not SQL) because contact_path_points/1 emits 1-3 points per contact and grid-rounding each in pure SQL is awkward. The stuck-at-steady-state count is always tiny (<20), so the iteration is cheap. |
||
|---|---|---|
| .. | ||
| fixtures | ||
| microwaveprop | ||
| microwaveprop_web | ||
| mix/tasks | ||
| support | ||
| test_helper.exs | ||