module DelayedCronJob::ActiveJob::QueueAdapter
Public Class Methods
extended(klass)
click to toggle source
# File lib/delayed_cron_job/active_job/queue_adapter.rb, line 10 def self.extended(klass) meta = class << klass; self; end meta.send(:alias_method, :enqueue, :enqueue_with_cron) meta.send(:alias_method, :enqueue_at, :enqueue_at_with_cron) end
included(klass)
click to toggle source
# File lib/delayed_cron_job/active_job/queue_adapter.rb, line 5 def self.included(klass) klass.send(:alias_method, :enqueue, :enqueue_with_cron) klass.send(:alias_method, :enqueue_at, :enqueue_at_with_cron) end
Public Instance Methods
enqueue_at_with_cron(job, timestamp)
click to toggle source
# File lib/delayed_cron_job/active_job/queue_adapter.rb, line 20 def enqueue_at_with_cron(job, timestamp) options = { queue: job.queue_name, cron: job.cron } options[:run_at] = Time.at(timestamp) if timestamp options[:priority] = job.priority if job.respond_to?(:priority) wrapper = ::ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper.new(job.serialize) delayed_job = Delayed::Job.enqueue(wrapper, options) job.provider_job_id = delayed_job.id if job.respond_to?(:provider_job_id=) delayed_job end
enqueue_with_cron(job)
click to toggle source
# File lib/delayed_cron_job/active_job/queue_adapter.rb, line 16 def enqueue_with_cron(job) enqueue_at(job, nil) end