diff --git a/apps/transport/lib/jobs/stops_registry_snapshot_job.ex b/apps/transport/lib/jobs/stops_registry_snapshot_job.ex new file mode 100644 index 0000000000..79df69089c --- /dev/null +++ b/apps/transport/lib/jobs/stops_registry_snapshot_job.ex @@ -0,0 +1,15 @@ +defmodule Transport.Jobs.StopsRegistrySnapshotJob do + @moduledoc """ + Job in charge of building a snapshot of the stops registry. + """ + + use Oban.Worker, unique: [period: {1, :days}], tags: ["registry"], max_attempts: 3 + require Logger + + @impl Oban.Worker + def perform(_job) do + file = "#{System.tmp_dir!()}/registre-arrets.csv" + + Transport.Registry.Engine.execute(file) + end +end diff --git a/config/runtime.exs b/config/runtime.exs index ade7b26480..a66f63cc89 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -161,7 +161,8 @@ oban_prod_crontab = [ {"30 5 * * *", Transport.Jobs.ImportDatasetMonthlyMetricsJob}, {"45 5 * * *", Transport.Jobs.ImportResourceMonthlyMetricsJob}, {"0 8 * * *", Transport.Jobs.WarnUserInactivityJob}, - {"*/5 * * * *", Transport.Jobs.UpdateCounterCacheJob} + {"*/5 * * * *", Transport.Jobs.UpdateCounterCacheJob}, + {"0 4 * * *", Transport.Jobs.StopsRegistrySnapshotJob} ] # Make sure that all modules exist