Ensure stale scores get pruned even when HRRR fetch fails
This commit is contained in:
parent
4bf9d0b4b0
commit
b7fc195e82
1 changed files with 26 additions and 24 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue