class ActiveJob::QueueAdapters::WorkerholicAdapter

Public Instance Methods

enqueue(job) click to toggle source
# File lib/workerholic/adapters/active_job_adapter.rb, line 4
def enqueue(job)
  job_data = job.serialize
  queue_name = "workerholic:queue:#{job_data['queue_name']}"

  job = JobWrapper.new
  job.instance_variable_set(:@queue_name, queue_name)

  # capture job class so it can be passed to `Base.execute` in `JobWrapper#perform`
  job.instance_variable_set(:@class, job_data['job_class'])

  job.perform_async(*job_data['arguments'])
end