Fork of Pleroma with site-specific changes and feature branches https://git.pleroma.social/pleroma/pleroma
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

34 lines
787B

  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Web.FedSockets.IngesterWorker do
  5. use Pleroma.Workers.WorkerHelper, queue: "ingestion_queue"
  6. require Logger
  7. alias Pleroma.Web.Federator
  8. @impl Oban.Worker
  9. def perform(%Job{args: %{"op" => "ingest", "object" => ingestee}}) do
  10. try do
  11. ingestee
  12. |> Jason.decode!()
  13. |> do_ingestion()
  14. rescue
  15. e ->
  16. Logger.error("IngesterWorker error - #{inspect(e)}")
  17. e
  18. end
  19. end
  20. defp do_ingestion(params) do
  21. case Federator.incoming_ap_doc(params) do
  22. {:error, reason} ->
  23. {:error, reason}
  24. {:ok, object} ->
  25. {:ok, object}
  26. end
  27. end
  28. end