forked from mirrors/akkoma
38 lines
1.1 KiB
Elixir
38 lines
1.1 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Config.Oban do
|
|
require Logger
|
|
|
|
def warn do
|
|
oban_config = Pleroma.Config.get(Oban)
|
|
|
|
crontab =
|
|
[
|
|
Pleroma.Workers.Cron.StatsWorker,
|
|
Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker,
|
|
Pleroma.Workers.Cron.ClearOauthTokenWorker
|
|
]
|
|
|> Enum.reduce(oban_config[:crontab], fn removed_worker, acc ->
|
|
with acc when is_list(acc) <- acc,
|
|
setting when is_tuple(setting) <-
|
|
Enum.find(acc, fn {_, worker} -> worker == removed_worker end) do
|
|
"""
|
|
!!!OBAN CONFIG WARNING!!!
|
|
You are using old workers in Oban crontab settings, which were removed.
|
|
Please, remove setting from crontab in your config file (prod.secret.exs): #{
|
|
inspect(setting)
|
|
}
|
|
"""
|
|
|> Logger.warn()
|
|
|
|
List.delete(acc, setting)
|
|
else
|
|
_ -> acc
|
|
end
|
|
end)
|
|
|
|
Pleroma.Config.put(Oban, Keyword.put(oban_config, :crontab, crontab))
|
|
end
|
|
end
|