Use PleromaJobQueue for scheduling

This commit is contained in:
Roman Chvanikov 2019-07-16 16:49:50 +03:00
commit e7c175c943
5 changed files with 11 additions and 28 deletions

View file

@ -115,10 +115,6 @@ defmodule Pleroma.Application do
%{
id: Pleroma.ScheduledActivityWorker,
start: {Pleroma.ScheduledActivityWorker, :start_link, []}
},
%{
id: Pleroma.QuantumScheduler,
start: {Pleroma.QuantumScheduler, :start_link, []}
}
] ++
hackney_pool_children() ++
@ -231,14 +227,12 @@ defmodule Pleroma.Application do
defp after_supervisor_start do
with digest_config <- Application.get_env(:pleroma, :email_notifications)[:digest],
true <- digest_config[:active],
%Crontab.CronExpression{} = schedule <-
Crontab.CronExpression.Parser.parse!(digest_config[:schedule]) do
Pleroma.QuantumScheduler.new_job()
|> Quantum.Job.set_name(:digest_emails)
|> Quantum.Job.set_schedule(schedule)
|> Quantum.Job.set_task(&Pleroma.DigestEmailWorker.run/0)
|> Pleroma.QuantumScheduler.add_job()
true <- digest_config[:active] do
PleromaJobQueue.schedule(
digest_config[:schedule],
:digest_emails,
Pleroma.DigestEmailWorker
)
end
:ok

View file

@ -3,7 +3,7 @@ defmodule Pleroma.DigestEmailWorker do
@queue_name :digest_emails
def run do
def perform do
config = Pleroma.Config.get([:email_notifications, :digest])
negative_interval = -Map.fetch!(config, :interval)
inactivity_threshold = Map.fetch!(config, :inactivity_threshold)

View file

@ -1,4 +0,0 @@
defmodule Pleroma.QuantumScheduler do
use Quantum.Scheduler,
otp_app: :pleroma
end