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
 | 
