diff options
author | Mark Felder <feld@feld.me> | 2024-09-05 20:55:28 +0000 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2024-09-05 20:55:28 +0000 |
commit | 1797f5958a92f78dc79c5bf313755b16319c5d2d (patch) | |
tree | 60429fabbd88f1fbd21ecde1821039f4920b2ee7 /lib | |
parent | 53744bf146f157ee1ecfc9ba4de9e5d65fa80784 (diff) | |
download | pleroma-1797f5958a92f78dc79c5bf313755b16319c5d2d.tar.gz pleroma-1797f5958a92f78dc79c5bf313755b16319c5d2d.zip |
App orphans should only be removed if they are older than 15 mins
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/o_auth/app.ex | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/pleroma/web/o_auth/app.ex b/lib/pleroma/web/o_auth/app.ex index 032011433..7661c2566 100644 --- a/lib/pleroma/web/o_auth/app.ex +++ b/lib/pleroma/web/o_auth/app.ex @@ -168,8 +168,13 @@ defmodule Pleroma.Web.OAuth.App do @spec remove_orphans(pos_integer()) :: :ok def remove_orphans(limit \\ 100) do + fifteen_mins_ago = DateTime.add(DateTime.utc_now(), -900, :second) + Repo.transaction(fn -> - from(a in __MODULE__, where: is_nil(a.user_id), limit: ^limit) + from(a in __MODULE__, + where: is_nil(a.user_id) and a.inserted_at < ^fifteen_mins_ago, + limit: ^limit + ) |> Repo.all() |> Enum.each(&Repo.delete(&1)) end) |