19 lines
488 B
Elixir
19 lines
488 B
Elixir
|
defmodule Mobilizon.Service.Workers.CleanUnconfirmedUsersWorker do
|
||
|
@moduledoc """
|
||
|
Worker to clean unattached media
|
||
|
"""
|
||
|
|
||
|
use Oban.Worker, queue: "background"
|
||
|
alias Mobilizon.Actors
|
||
|
alias Mobilizon.Service.ActorSuspension
|
||
|
|
||
|
@suspention_days 30
|
||
|
|
||
|
@impl Oban.Worker
|
||
|
def perform(%Job{}) do
|
||
|
[suspension: @suspention_days]
|
||
|
|> Actors.list_suspended_actors_to_purge()
|
||
|
|> Enum.each(&ActorSuspension.suspend_actor(&1, reserve_username: true, suspension: true))
|
||
|
end
|
||
|
end
|