X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ffederator.ex;h=3a00424c67b72ec848e5a49cc4578e8cbf64ffe4;hb=2a1f17e3ede2054f31c35b5dc240f51d0d5509d1;hp=bc61130f1ef7aa322ddc7dca8a02af2493ec442b;hpb=dbe678cb06352df49de4aa36f033b392ce6e6745;p=akkoma diff --git a/lib/pleroma/web/federator.ex b/lib/pleroma/web/federator.ex index bc61130f1..3a00424c6 100644 --- a/lib/pleroma/web/federator.ex +++ b/lib/pleroma/web/federator.ex @@ -48,17 +48,26 @@ defmodule Pleroma.Web.Federator do @impl true def publish(%{data: %{"object" => object}} = activity) when is_binary(object) do - PublisherWorker.enqueue("publish", %{"activity_id" => activity.id, "object_data" => nil}) + PublisherWorker.enqueue("publish", %{"activity_id" => activity.id, "object_data" => nil}, + priority: publish_priority(activity) + ) end @impl true def publish(%{data: %{"object" => object}} = activity) when is_map(object) or is_list(object) do - PublisherWorker.enqueue("publish", %{ - "activity_id" => activity.id, - "object_data" => Jason.encode!(object) - }) + PublisherWorker.enqueue( + "publish", + %{ + "activity_id" => activity.id, + "object_data" => Jason.encode!(object) + }, + priority: publish_priority(activity) + ) end + defp publish_priority(%{data: %{"type" => "Delete"}}), do: 3 + defp publish_priority(_), do: 0 + # Job Worker Callbacks @spec perform(atom(), module(), any()) :: {:ok, any()} | {:error, any()}