class ActiveJob::QueueAdapters::SidekiqPublisherAdapter
To use SidekiqPublisher
set the queue_adapter config to :sidekiq_publisher
.
Rails.application.config.active_job.queue_adapter = :sidekiq_publisher
Constants
- JOB_WRAPPER_CLASS
Public Instance Methods
enqueue(job)
click to toggle source
# File lib/active_job/queue_adapters/sidekiq_publisher_adapter.rb, line 13 def enqueue(job) internal_enqueue(job) end
enqueue_at(job, timestamp)
click to toggle source
# File lib/active_job/queue_adapters/sidekiq_publisher_adapter.rb, line 17 def enqueue_at(job, timestamp) internal_enqueue(job, timestamp) end
Private Instance Methods
internal_enqueue(job, timestamp = nil)
click to toggle source
# File lib/active_job/queue_adapters/sidekiq_publisher_adapter.rb, line 23 def internal_enqueue(job, timestamp = nil) job.provider_job_id = SidekiqPublisher::Job.generate_sidekiq_jid attributes = job_attributes(job) attributes[:run_at] = timestamp if timestamp.present? SidekiqPublisher::Job.create!(attributes).job_id end
job_attributes(job)
click to toggle source
# File lib/active_job/queue_adapters/sidekiq_publisher_adapter.rb, line 30 def job_attributes(job) { job_id: job.provider_job_id, job_class: JOB_WRAPPER_CLASS, wrapped: job.class.to_s, queue: job.queue_name, args: [job.serialize], } end