From ed61eddf03228597ef431ea7c55fe662a2d31c8a Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Mon, 7 Jul 2025 09:23:44 +0100 Subject: [PATCH] Move polyfilling artist IDs to scrobble rules --- config/config.exs | 2 - .../scrobble_activity/backfill.ex | 37 ------------------- .../worker/polyfill_scrobbled_tracks.ex | 10 ----- 3 files changed, 49 deletions(-) delete mode 100644 lib/music_library/scrobble_activity/backfill.ex delete mode 100644 lib/music_library/worker/polyfill_scrobbled_tracks.ex diff --git a/config/config.exs b/config/config.exs index f307c4df..57abe7cb 100644 --- a/config/config.exs +++ b/config/config.exs @@ -86,8 +86,6 @@ config :music_library, Oban, plugins: [ {Oban.Plugins.Cron, crontab: [ - # every hour - {"0 * * * *", MusicLibrary.Worker.PolyfillScrobbledTracks}, # every 30 minutes {"*/30 * * * *", MusicLibrary.ScrobbleRules.Worker} ]} diff --git a/lib/music_library/scrobble_activity/backfill.ex b/lib/music_library/scrobble_activity/backfill.ex deleted file mode 100644 index a8a02db3..00000000 --- a/lib/music_library/scrobble_activity/backfill.ex +++ /dev/null @@ -1,37 +0,0 @@ -defmodule MusicLibrary.ScrobbleActivity.Backfill do - alias MusicLibrary.Artists - alias MusicLibrary.Repo - - @allowed_artists [ - "Airbag", - "Arena", - "Dream Theater", - "Fish", - "Gazpacho", - "IQ", - "Marillion", - "Meer", - "Muse", - "Opeth", - "Pink Floyd", - "Porcupine Tree", - "Riverside", - "Steven Wilson", - "Sylvan" - ] - - def fill_missing_artist_ids do - name_id_pairs = Artists.name_id_pairs(@allowed_artists) - - Enum.each(name_id_pairs, fn {name, id} -> - Repo.query( - """ - UPDATE scrobbled_tracks - SET artist = json_set(artist, '$.musicbrainz_id', ?) - WHERE artist ->> '$.name' == ?; - """, - [id, name] - ) - end) - end -end diff --git a/lib/music_library/worker/polyfill_scrobbled_tracks.ex b/lib/music_library/worker/polyfill_scrobbled_tracks.ex deleted file mode 100644 index 11be447a..00000000 --- a/lib/music_library/worker/polyfill_scrobbled_tracks.ex +++ /dev/null @@ -1,10 +0,0 @@ -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