From 0739e12ad3bbbc55dee14361f184826ee6c98e9f Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Fri, 20 Jun 2025 22:42:45 +0300 Subject: [PATCH] Polyfill scrobbled tracks every hour --- config/config.exs | 9 ++++++++- lib/music_library/worker/polyfill_scrobbled_tracks.ex | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 lib/music_library/worker/polyfill_scrobbled_tracks.ex diff --git a/config/config.exs b/config/config.exs index 764980f9..abfef002 100644 --- a/config/config.exs +++ b/config/config.exs @@ -82,7 +82,14 @@ config :error_tracker, config :music_library, Oban, engine: Oban.Engines.Lite, queues: [default: 10, heavy_writes: 1, music_brainz: 1], - repo: MusicLibrary.BackgroundRepo + repo: MusicLibrary.BackgroundRepo, + plugins: [ + {Oban.Plugins.Cron, + crontab: [ + # every hour + {"0 * * * *", MusicLibrary.Worker.PolyfillScrobbledTracks} + ]} + ] config :music_library, MusicLibrary.ErrorRepo, priv: "priv/error_repo" diff --git a/lib/music_library/worker/polyfill_scrobbled_tracks.ex b/lib/music_library/worker/polyfill_scrobbled_tracks.ex new file mode 100644 index 00000000..11be447a --- /dev/null +++ b/lib/music_library/worker/polyfill_scrobbled_tracks.ex @@ -0,0 +1,10 @@ +defmodule MusicLibrary.Worker.PolyfillScrobbledTracks do + use Oban.Worker, queue: :heavy_writes, max_attempts: 3 + + alias MusicLibrary.ScrobbleActivity.Backfill + + @impl Oban.Worker + def perform(%Oban.Job{args: _}) do + Backfill.fill_missing_artist_ids() + end +end