logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma

ingester_worker.ex (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