fix(prune): widen profile/score file cutoff from 2h to 3h
HRRR publishes ~2h after the cycle hour, so the hourly seeder uses run_time = now - 2h. That puts the f00 analysis file's valid_time right at the 2h prune cutoff — the file was being deleted within minutes of the Rust analysis step writing it, leaving /weather and /map point-detail with no data. A 3h cutoff keeps the current analysis alive until the next hourly run supersedes it; forecast files (valid_time >> cutoff) are unaffected.
This commit is contained in:
parent
0c1d90ef58
commit
608fd32e5e
1 changed files with 8 additions and 2 deletions
|
|
@ -198,12 +198,18 @@ defmodule Microwaveprop.Propagation do
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Remove score files with valid_times older than 2 hours. Called on
|
Remove score files with valid_times older than 3 hours. Called on
|
||||||
a cron by `Microwaveprop.Workers.PropagationPruneWorker`.
|
a cron by `Microwaveprop.Workers.PropagationPruneWorker`.
|
||||||
|
|
||||||
|
The cutoff sits one hour beyond HRRR's ~2h publish lag: the hourly
|
||||||
|
seeder picks `run_time = now - 2h`, so the f00 analysis file is
|
||||||
|
written at valid_time = now - 2h. A 2h cutoff deletes it within
|
||||||
|
minutes; a 3h cutoff keeps it alive until the next hourly run
|
||||||
|
supersedes it.
|
||||||
"""
|
"""
|
||||||
@spec prune_old_scores() :: :ok
|
@spec prune_old_scores() :: :ok
|
||||||
def prune_old_scores do
|
def prune_old_scores do
|
||||||
cutoff = DateTime.add(DateTime.utc_now(), -2, :hour)
|
cutoff = DateTime.add(DateTime.utc_now(), -3, :hour)
|
||||||
file_deleted = ScoresFile.prune_older_than(cutoff)
|
file_deleted = ScoresFile.prune_older_than(cutoff)
|
||||||
profiles_deleted = ProfilesFile.prune_older_than(cutoff)
|
profiles_deleted = ProfilesFile.prune_older_than(cutoff)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue