Merge remote-tracking branch 'origin/develop' into fork

This commit is contained in:
marcin mikołajczak 2024-08-04 16:05:17 +02:00
commit ef3b8b3b6d
2 changed files with 8 additions and 1 deletions

View file

@ -0,0 +1 @@
Publisher behavior improvement when snoozing Oban jobs due to Gun connection pool contention.

View file

@ -143,9 +143,13 @@ def publish_one(%{inbox: inbox, activity_id: activity_id} = params) 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 @@ def publish_one(%{inbox: inbox, activity_id: activity_id} = params) 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