diff --git a/config/config.exs b/config/config.exs index f4a6066a..10978c78 100644 --- a/config/config.exs +++ b/config/config.exs @@ -85,7 +85,9 @@ config :music_library, Oban, crontab: [ # every 12 hours {"0 */12 * * *", MusicLibrary.Worker.ApplyScrobbleRules}, - {"0 */12 * * *", MusicLibrary.Worker.PruneAssetCache} + {"0 */12 * * *", MusicLibrary.Worker.PruneAssetCache}, + # every day at 3 am, + {"0 3 * * *", MusicLibrary.Worker.RepoVacuum} ]} ] diff --git a/lib/music_library/worker/repo_vacuum.ex b/lib/music_library/worker/repo_vacuum.ex new file mode 100644 index 00000000..910ea037 --- /dev/null +++ b/lib/music_library/worker/repo_vacuum.ex @@ -0,0 +1,10 @@ +defmodule MusicLibrary.Worker.RepoVacuum do + use Oban.Worker, queue: :heavy_writes, max_attempts: 3 + + require Logger + + @impl Oban.Worker + def perform(_) do + MusicLibrary.Repo.vacuum() + end +end