summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2024-08-02 13:49:11 +0000
committerfeld <feld@feld.me>2024-08-02 13:49:11 +0000
commitb389b85d7760d9c275b2584e0e99bff4f0265222 (patch)
tree95f934e3560d3a79c0d94577858be54886458e21 /lib
parent8f1866e3ade52a7d4bacf46b4c06bf9468eb1fef (diff)
parent1f986ec7138ce95a102a84c75a5b39dd885bf451 (diff)
downloadpleroma-b389b85d7760d9c275b2584e0e99bff4f0265222.tar.gz
pleroma-b389b85d7760d9c275b2584e0e99bff4f0265222.zip
Merge branch 'gun/snooze' into 'develop'
Gun: Publisher job behavior improvement See merge request pleroma/pleroma!4202
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/publisher.ex8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/publisher.ex b/lib/pleroma/web/activity_pub/publisher.ex
index e040753dc..e63b8ff1f 100644
--- a/lib/pleroma/web/activity_pub/publisher.ex
+++ b/lib/pleroma/web/activity_pub/publisher.ex
@@ -143,9 +143,13 @@ defmodule Pleroma.Web.ActivityPub.Publisher do
_ -> {:error, e}
end
+ {:error, {:already_started, _}} ->
+ Logger.debug("Publisher snoozing worker job due worker :already_started race condition")
+ connection_pool_snooze()
+
{:error, :pool_full} ->
Logger.debug("Publisher snoozing worker job due to full connection pool")
- {:snooze, 30}
+ connection_pool_snooze()
e ->
unless params[:unreachable_since], do: Instances.set_unreachable(inbox)
@@ -155,6 +159,8 @@ defmodule Pleroma.Web.ActivityPub.Publisher do
end
end
+ defp connection_pool_snooze, do: {:snooze, 3}
+
defp signature_host(%URI{port: port, scheme: scheme, host: host}) do
if port == URI.default_port(scheme) do
host