@websub Application.get_env(:pleroma, :websub)
@ostatus Application.get_env(:pleroma, :ostatus)
@httpoison Application.get_env(:pleroma, :httpoison)
- @max_jobs 10
+ @instance Application.get_env(:pleroma, :instance)
+ @federating Keyword.get(@instance, :federating)
+ @max_jobs 20
def start_link do
spawn(fn ->
end
def handle(:incoming_doc, doc) do
- Logger.debug("Got document, trying to parse")
+ Logger.info("Got document, trying to parse")
@ostatus.handle_incoming(doc)
end
def handle(:incoming_ap_doc, params) do
+ Logger.info("Handling incoming ap activity")
with {:ok, _user} <- ap_enabled_actor(params["actor"]),
nil <- Activity.get_by_ap_id(params["id"]),
{:ok, activity} <- Transmogrifier.handle_incoming(params) do
end
def enqueue(type, payload, priority \\ 1) do
- if Mix.env == :test do
- handle(type, payload)
- else
- GenServer.cast(__MODULE__, {:enqueue, type, payload, priority})
+ if @federating do
+ if Mix.env == :test do
+ handle(type, payload)
+ else
+ GenServer.cast(__MODULE__, {:enqueue, type, payload, priority})
+ end
end
end
end
end
- def handle_cast({:enqueue, type, payload, priority}, state) when type in [:incoming_doc] do
+ def handle_cast({:enqueue, type, payload, priority}, state) when type in [:incoming_doc, :incoming_ap_doc] do
%{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state
i_queue = enqueue_sorted(i_queue, {type, payload}, 1)
{i_running_jobs, i_queue} = maybe_start_job(i_running_jobs, i_queue)