summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/config.exs2
-rw-r--r--lib/pleroma/web/o_auth/app.ex13
2 files changed, 10 insertions, 5 deletions
diff --git a/config/config.exs b/config/config.exs
index 2bc28b256..80a3b8d57 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -598,7 +598,7 @@ config :pleroma, Oban,
crontab: [
{"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker},
{"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker},
- {"0 0 * * *", Pleroma.Workers.Cron.AppCleanupWorker}
+ {"*/10 * * * *", Pleroma.Workers.Cron.AppCleanupWorker}
]
config :pleroma, Pleroma.Formatter,
diff --git a/lib/pleroma/web/o_auth/app.ex b/lib/pleroma/web/o_auth/app.ex
index 6ae419d09..032011433 100644
--- a/lib/pleroma/web/o_auth/app.ex
+++ b/lib/pleroma/web/o_auth/app.ex
@@ -166,9 +166,14 @@ defmodule Pleroma.Web.OAuth.App do
def maybe_update_owner(_), do: :ok
- @spec remove_orphans() :: :ok
- def remove_orphans() do
- from(a in __MODULE__, where: is_nil(a.user_id))
- |> Repo.delete_all()
+ @spec remove_orphans(pos_integer()) :: :ok
+ def remove_orphans(limit \\ 100) do
+ Repo.transaction(fn ->
+ from(a in __MODULE__, where: is_nil(a.user_id), limit: ^limit)
+ |> Repo.all()
+ |> Enum.each(&Repo.delete(&1))
+ end)
+
+ :ok
end
end