Separate Web modules related to Federation

This commit is contained in:
rustra
2020-01-23 00:55:07 +01:00
parent d1251280c5
commit 8ca5c0b320
42 changed files with 279 additions and 337 deletions

View File

@@ -1,4 +1,4 @@
defmodule Mobilizon.Service.Workers.BackgroundWorker do
defmodule Mobilizon.Service.Workers.Background do
@moduledoc """
Worker to build search results
"""
@@ -6,7 +6,7 @@ defmodule Mobilizon.Service.Workers.BackgroundWorker do
alias Mobilizon.Actors
alias Mobilizon.Actors.Actor
use Mobilizon.Service.Workers.WorkerHelper, queue: "background"
use Mobilizon.Service.Workers.Helper, queue: "background"
@impl Oban.Worker
def perform(%{"op" => "delete_actor", "actor_id" => actor_id}, _job) do

View File

@@ -1,4 +1,4 @@
defmodule Mobilizon.Service.Workers.BuildSearchWorker do
defmodule Mobilizon.Service.Workers.BuildSearch do
@moduledoc """
Worker to build search results
"""
@@ -8,7 +8,7 @@ defmodule Mobilizon.Service.Workers.BuildSearchWorker do
alias Mobilizon.Storage.Repo
alias Ecto.Adapters.SQL
use Mobilizon.Service.Workers.WorkerHelper, queue: "search"
use Mobilizon.Service.Workers.Helper, queue: "search"
@impl Oban.Worker
def perform(%{"op" => "insert_search_event", "event_id" => event_id}, _job) do

View File

@@ -3,12 +3,13 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/workers/worker_helper.ex
defmodule Mobilizon.Service.Workers.WorkerHelper do
defmodule Mobilizon.Service.Workers.Helper do
@moduledoc """
Tools to ease dealing with workers
"""
alias Mobilizon.Config
alias Mobilizon.Service.Workers.WorkerHelper
alias Mobilizon.Storage.Repo
def worker_args(queue) do
case Config.get([:workers, :retries, queue]) do
@@ -39,11 +40,11 @@ defmodule Mobilizon.Service.Workers.WorkerHelper do
def enqueue(operation, params, worker_args \\ []) do
params = Map.merge(%{"op" => operation}, params)
queue_atom = String.to_existing_atom(unquote(queue))
worker_args = worker_args ++ WorkerHelper.worker_args(queue_atom)
worker_args = worker_args ++ __MODULE__.worker_args(queue_atom)
unquote(caller_module)
|> apply(:new, [params, worker_args])
|> Mobilizon.Storage.Repo.insert()
|> Repo.insert()
end
end
end