enable aqi worker to self update.

edbb18b · gmorell · 2023-07-21 23:20

5 files +7 -8

Files changed

modified apps/room_air_quality/lib/room_air_quality/aqi_worker.ex
+7 −8
@@ -9,10 +9,15 @@ defmodule RoomAirQuality.Worker do
9 9 alias RoomSanctum.Repo
10 10
11 11 @registry :zeus
12 − # @monitoring_site_url "https://s3-us-west-1.amazonaws.com//files.airnowtech.org/airnow/today/Monitoring_Site_Locations_V2.dat"
13 12
14 13 def start_link(opts) do
15 14 GenServer.start_link(__MODULE__, opts, name: via_tuple("aqi" <> opts[:name]))
15 +
16 + Periodic.start_link(
17 + every: :timer.seconds(60 * 60),
18 + run: fn -> RoomGitlab.Worker.query_projects(opts[:name]) end,
19 + initial_delay: :timer.seconds(60 * 30),
20 + )
16 21 end
17 22
18 23 # Public
@@ -28,12 +33,6 @@ defmodule RoomAirQuality.Worker do
28 33 |> GenServer.cast(:update_static)
29 34 end
30 35
31 − def update_realtime_data(name) do
32 − "aqi#{name}"
33 − |> via_tuple()
34 − |> GenServer.cast(:update_realtime)
35 − end
36 −
37 36 def query_place(id, query) do
38 37 Storage.get_current_information_for_aqi(id, query.foci_id)
39 38 end
@@ -264,7 +263,7 @@ defmodule RoomAirQuality.Worker do
264 263 # end
265 264
266 265 defp build_obs_url(ts \\ DateTime.utc_now()) do
267 − sh = ts |> DateTime.add(-2 * 60 * 60, :second)
266 + sh = ts |> DateTime.add(-1 * 60 * 60, :second)
268 267 file_str = sh |> Timex.format!("%Y%m%d%H", :strftime)
269 268 date_str = sh |> Timex.format!("%Y%m%d", :strftime)
270 269

Parents: 332d75b