Refresh all data at the beginning of the month

This commit is contained in:
Claudio Ortolina
2026-02-14 12:09:06 +00:00
parent 01b3d64b82
commit 2872d14a8a
5 changed files with 46 additions and 2 deletions
+6 -2
View File
@@ -96,8 +96,12 @@ config :music_library, Oban,
{"0 3 * * *", MusicLibrary.Worker.RepoVacuum},
# every day at 4 am,
{"0 4 * * *", MusicLibrary.Worker.RepoOptimize},
# every first day of the month at 6 am,
{"0 6 1 * *", MusicLibrary.Worker.RecordRefreshAllMusicBrainzData}
# every first day of the month, staggered hourly
{"0 6 1 * *", MusicLibrary.Worker.RecordRefreshAllMusicBrainzData},
{"0 7 1 * *", MusicLibrary.Worker.RecordGenerateAllEmbeddings},
{"0 8 1 * *", MusicLibrary.Worker.ArtistRefreshAllMusicBrainzData},
{"0 9 1 * *", MusicLibrary.Worker.ArtistRefreshAllDiscogsData},
{"0 10 1 * *", MusicLibrary.Worker.ArtistRefreshAllWikipediaData}
]}
]
@@ -0,0 +1,10 @@
defmodule MusicLibrary.Worker.ArtistRefreshAllDiscogsData do
use Oban.Worker, queue: :discogs, max_attempts: 3
alias MusicLibrary.Artists
@impl Oban.Worker
def perform(%Oban.Job{}) do
Artists.Batch.refresh_discogs_data()
end
end
@@ -0,0 +1,10 @@
defmodule MusicLibrary.Worker.ArtistRefreshAllMusicBrainzData do
use Oban.Worker, queue: :music_brainz, max_attempts: 3
alias MusicLibrary.Artists
@impl Oban.Worker
def perform(%Oban.Job{}) do
Artists.Batch.refresh_musicbrainz_data()
end
end
@@ -0,0 +1,10 @@
defmodule MusicLibrary.Worker.ArtistRefreshAllWikipediaData do
use Oban.Worker, queue: :wikipedia, max_attempts: 3
alias MusicLibrary.Artists
@impl Oban.Worker
def perform(%Oban.Job{}) do
Artists.Batch.refresh_wikipedia_data()
end
end
@@ -0,0 +1,10 @@
defmodule MusicLibrary.Worker.RecordGenerateAllEmbeddings do
use Oban.Worker, queue: :heavy_writes, max_attempts: 3
alias MusicLibrary.Records
@impl Oban.Worker
def perform(%Oban.Job{}) do
Records.Batch.generate_embeddings()
end
end