The :propagation Oban queue runs with concurrency 2, so the grid
worker chain step and the 10-minute ASOS nudge can (and do) execute
in parallel. PipelineStatus.current/0 used to return only the
most-recently-started worker, which made the chip label flip to
"ASOS nudge" at every :00 / :10 tick even though HRRR was still
chugging through forecast hours behind it.
Replace the single :detail field with a list of running_detail
maps, each tagged with :grid or :asos so the chip can:
- Render one sub-line per currently-executing worker
- Sort them deterministically (grid before asos) so the eye
doesn't see rows swap
- Still override the grid entry with the forecast-hour progress
label when a propagation_pipeline_progress broadcast arrives
|
||
|---|---|---|
| .. | ||
| admin | ||
| beacon_live | ||
| contact_live | ||
| user_management_live | ||
| about_live.ex | ||
| algo_live.ex | ||
| contact_map_live.ex | ||
| map_live.ex | ||
| path_live.ex | ||
| privacy_live.ex | ||
| rover_live.ex | ||
| status_live.ex | ||
| submit_live.ex | ||
| user_profile_live.ex | ||
| weather_map_live.ex | ||