From 8e15b6eb5725c815646fa3708d6ea702ed18e1d7 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Mon, 15 Dec 2025 10:23:54 +0300 Subject: [PATCH] Optimize the repo every day at 4am --- config/config.exs | 4 +++- lib/music_library/worker/repo_optimize.ex | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 lib/music_library/worker/repo_optimize.ex 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