مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-11-30 21:32:30 +00:00
This removes all previous dependencies on RabbitMQ and the need to run separate cron and requeueing processes.
47 أسطر
758 B
Ruby
47 أسطر
758 B
Ruby
# 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
|