summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2024-09-05 20:55:28 +0000
committerMark Felder <feld@feld.me>2024-09-05 20:55:28 +0000
commit1797f5958a92f78dc79c5bf313755b16319c5d2d (patch)
tree60429fabbd88f1fbd21ecde1821039f4920b2ee7 /lib
parent53744bf146f157ee1ecfc9ba4de9e5d65fa80784 (diff)
downloadpleroma-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.ex7
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)