diff --git a/lib/microwaveprop/workers/backfill_enqueue_worker.ex b/lib/microwaveprop/workers/backfill_enqueue_worker.ex index 22c57276..c0ac4086 100644 --- a/lib/microwaveprop/workers/backfill_enqueue_worker.ex +++ b/lib/microwaveprop/workers/backfill_enqueue_worker.ex @@ -13,7 +13,7 @@ defmodule Microwaveprop.Workers.BackfillEnqueueWorker do require Logger - @enrichable [:pending, :failed] + @enrichable [:pending, :queued, :failed] @impl Oban.Worker def perform(%Oban.Job{args: %{"limit" => limit}}) do diff --git a/lib/microwaveprop/workers/contact_weather_enqueue_worker.ex b/lib/microwaveprop/workers/contact_weather_enqueue_worker.ex index d8f18fe2..c1989347 100644 --- a/lib/microwaveprop/workers/contact_weather_enqueue_worker.ex +++ b/lib/microwaveprop/workers/contact_weather_enqueue_worker.ex @@ -33,10 +33,16 @@ defmodule Microwaveprop.Workers.ContactWeatherEnqueueWorker do end ids = [contact.id] - if contact.pos1, do: Radio.mark_weather_queued!(ids) - if contact.pos1, do: Radio.mark_hrrr_queued!(ids) - if contact.pos1 && contact.pos2, do: Radio.mark_terrain_queued!(ids) - if contact.pos1, do: Radio.mark_iemre_queued!(ids) + + if contact.pos1 do + mark_status!(ids, :weather_status, weather_jobs) + mark_status!(ids, :hrrr_status, hrrr_jobs) + mark_status!(ids, :iemre_status, iemre_jobs) + end + + if contact.pos1 && contact.pos2 do + mark_status!(ids, :terrain_status, terrain_jobs) + end :ok end @@ -262,4 +268,7 @@ defmodule Microwaveprop.Workers.ContactWeatherEnqueueWorker do |> Enum.chunk_every(@insert_batch_size) |> Enum.each(&Oban.insert_all/1) end + + defp mark_status!(ids, field, [_ | _]), do: Radio.set_enrichment_status!(ids, field, :queued) + defp mark_status!(ids, field, []), do: Radio.set_enrichment_status!(ids, field, :complete) end