diff --git a/config/config.exs b/config/config.exs index 34c105b1..a0036758 100644 --- a/config/config.exs +++ b/config/config.exs @@ -89,7 +89,9 @@ config :music_library, Oban, # every day at 2 am, {"0 2 * * *", MusicLibrary.Worker.PruneAssets}, # every day at 3 am, - {"0 3 * * *", MusicLibrary.Worker.RepoVacuum} + {"0 3 * * *", MusicLibrary.Worker.RepoVacuum}, + # every day at 4 am, + {"0 4 * * *", MusicLibrary.Worker.RepoOptimize} ]} ] diff --git a/lib/music_library/worker/repo_optimize.ex b/lib/music_library/worker/repo_optimize.ex new file mode 100644 index 00000000..df09e038 --- /dev/null +++ b/lib/music_library/worker/repo_optimize.ex @@ -0,0 +1,10 @@ +defmodule MusicLibrary.Worker.RepoOptimize do + use Oban.Worker, queue: :heavy_writes, max_attempts: 3 + + require Logger + + @impl Oban.Worker + def perform(_) do + MusicLibrary.Repo.optimize() + end +end