مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2026-01-20 14:49:53 +00:00
feat: new background work process
This removes all previous dependencies on RabbitMQ and the need to run separate cron and requeueing processes.
هذا الالتزام موجود في:
46
app/scheduled_tasks/application_scheduled_task.rb
Normal file
46
app/scheduled_tasks/application_scheduled_task.rb
Normal file
@@ -0,0 +1,46 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class ApplicationScheduledTask
|
||||
|
||||
def initialize(logger:)
|
||||
@logger = logger
|
||||
end
|
||||
|
||||
def call
|
||||
# override me
|
||||
end
|
||||
|
||||
attr_reader :logger
|
||||
|
||||
class << self
|
||||
|
||||
def next_run_after
|
||||
quarter_past_each_hour
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def quarter_past_each_hour
|
||||
time = Time.current
|
||||
time = time.change(min: 15, sec: 0)
|
||||
time += 1.hour if time < Time.current
|
||||
time
|
||||
end
|
||||
|
||||
def quarter_to_each_hour
|
||||
time = Time.current
|
||||
time = time.change(min: 45, sec: 0)
|
||||
time += 1.hour if time < Time.current
|
||||
time
|
||||
end
|
||||
|
||||
def three_am
|
||||
time = Time.current
|
||||
time = time.change(hour: 3, min: 0, sec: 0)
|
||||
time += 1.day if time < Time.current
|
||||
time
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
المرجع في مشكلة جديدة
حظر مستخدم