Ensure stale scores get pruned even when HRRR fetch fails

This commit is contained in:
Graham McIntire 2026-04-01 08:36:14 -05:00
parent 4bf9d0b4b0
commit b7fc195e82
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59

View file

@ -35,6 +35,7 @@ defmodule Microwaveprop.Workers.PropagationGridWorker do
Enum.each(@pause_queues, &Oban.pause_queue(queue: &1)) Enum.each(@pause_queues, &Oban.pause_queue(queue: &1))
try do
for_result = for_result =
for fh <- 0..@max_forecast_hour do for fh <- 0..@max_forecast_hour do
valid_time = DateTime.add(run_time, fh * 3600, :second) valid_time = DateTime.add(run_time, fh * 3600, :second)
@ -48,12 +49,6 @@ defmodule Microwaveprop.Workers.PropagationGridWorker do
valid_times = Enum.reject(for_result, &is_nil/1) valid_times = Enum.reject(for_result, &is_nil/1)
Logger.info("PropagationGrid: resuming backfill queues")
Enum.each(@pause_queues, &Oban.resume_queue(queue: &1))
Weather.prune_old_grid_profiles()
Propagation.prune_old_scores()
if valid_times != [] do if valid_times != [] do
Phoenix.PubSub.broadcast( Phoenix.PubSub.broadcast(
Microwaveprop.PubSub, Microwaveprop.PubSub,
@ -66,6 +61,13 @@ defmodule Microwaveprop.Workers.PropagationGridWorker do
Logger.info("PropagationGrid: total time #{format_duration(total_ms)} (#{length(valid_times)} forecast hours)") Logger.info("PropagationGrid: total time #{format_duration(total_ms)} (#{length(valid_times)} forecast hours)")
:ok :ok
after
Logger.info("PropagationGrid: resuming backfill queues")
Enum.each(@pause_queues, &Oban.resume_queue(queue: &1))
Weather.prune_old_grid_profiles()
Propagation.prune_old_scores()
end
end end
defp process_forecast_hour(points, run_time, forecast_hour, valid_time) do defp process_forecast_hour(points, run_time, forecast_hour, valid_time) do