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
|
||
|---|---|---|
| .. | ||
| asos_nudge.ex | ||
| band_config.ex | ||
| duct.ex | ||
| freshness_monitor.ex | ||
| grid.ex | ||
| grid_score.ex | ||
| inversion.ex | ||
| pipeline_status.ex | ||
| rain_scatter.ex | ||
| recalibrator.ex | ||
| region.ex | ||
| score_cache.ex | ||
| scorer.ex | ||
| scorer_diff.ex | ||