Re-enable HRRR auto-enqueue on contact detail page view

This commit is contained in:
Graham McIntire 2026-04-02 08:08:28 -05:00
parent fd00de7bc6
commit 0503fb3799
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59

View file

@ -11,8 +11,8 @@ defmodule MicrowavepropWeb.ContactLive.Show do
alias Microwaveprop.Terrain.ElevationClient
alias Microwaveprop.Terrain.TerrainAnalysis
alias Microwaveprop.Weather
# alias Microwaveprop.Weather.HrrrClient
# alias Microwaveprop.Workers.HrrrFetchWorker
alias Microwaveprop.Weather.HrrrClient
alias Microwaveprop.Workers.HrrrFetchWorker
alias Microwaveprop.Workers.TerrainProfileWorker
@earth_radius_m 6_371_000.0
@ -189,34 +189,27 @@ defmodule MicrowavepropWeb.ContactLive.Show do
defp maybe_enqueue_hrrr(hrrr, _contact) when not is_nil(hrrr), do: {hrrr, :loaded}
# TODO: Re-enable auto HRRR backfill on page view when appropriate
# defp maybe_enqueue_hrrr(nil, contact) do
# lat = contact.pos1 && contact.pos1["lat"]
# lon = contact.pos1 && (contact.pos1["lon"] || contact.pos1["lng"])
#
# if lat && lon && hrrr_likely_available?(contact.qso_timestamp) do
# valid_time = HrrrClient.nearest_hrrr_hour(contact.qso_timestamp)
# {rlat, rlon} = Weather.round_to_hrrr_grid(lat, lon)
#
# Oban.insert(
# HrrrFetchWorker.new(%{
# "lat" => rlat,
# "lon" => rlon,
# "valid_time" => DateTime.to_iso8601(valid_time)
# })
# )
#
# {nil, :queued}
# else
# {nil, :unavailable}
# end
# end
defp maybe_enqueue_hrrr(nil, _contact), do: {nil, :unavailable}
defp maybe_enqueue_hrrr(nil, contact) do
lat = contact.pos1 && contact.pos1["lat"]
lon = contact.pos1 && (contact.pos1["lon"] || contact.pos1["lng"])
# defp hrrr_likely_available?(timestamp) do
# hours_ago = DateTime.diff(DateTime.utc_now(), timestamp, :hour)
# hours_ago < 48
# end
if lat && lon do
valid_time = HrrrClient.nearest_hrrr_hour(contact.qso_timestamp)
{rlat, rlon} = Weather.round_to_hrrr_grid(lat, lon)
Oban.insert(
HrrrFetchWorker.new(%{
"lat" => rlat,
"lon" => rlon,
"valid_time" => DateTime.to_iso8601(valid_time)
})
)
{nil, :queued}
else
{nil, :unavailable}
end
end
defp load_solar(contact) do
contact.qso_timestamp