class ActiveJob::QueueAdapters::DispatchRiderAdapter
Adds support for DispatchRider
to ActiveJob
.
Public Instance Methods
enqueue(job)
click to toggle source
@param [ActiveJob::Base] job
# File lib/activejob/queue_adapters/dispatch_rider_adapter.rb, line 6 def enqueue(job) publisher.publish **job_details_for(job) end
enqueue_at(job, scheduled_at)
click to toggle source
@param [ActiveJob::Base] job @param [Float] scheduled_at - float representing time (blame AJ)
# File lib/activejob/queue_adapters/dispatch_rider_adapter.rb, line 12 def enqueue_at(job, scheduled_at) scheduled_job_details = job_details_for(job).merge(scheduled_at: Time.at(scheduled_at)) ::DispatchRider::ScheduledJob.create! **scheduled_job_details end
Private Instance Methods
job_details_for(job)
click to toggle source
# File lib/activejob/queue_adapters/dispatch_rider_adapter.rb, line 24 def job_details_for(job) { destinations: Array(job.queue_name), message: { subject: job.class.name.underscore, body: job.serialize.merge(guid: job.job_id) } } end
publisher()
click to toggle source
# File lib/activejob/queue_adapters/dispatch_rider_adapter.rb, line 20 def publisher @publisher ||= ::DispatchRider::Publisher.new end