Method: ActiveJob::QueueAdapters::QueueClassicAdapter#enqueue_at

Defined in:
activejob/lib/active_job/queue_adapters/queue_classic_adapter.rb

#enqueue_at(job, timestamp) ⇒ Object

:nodoc:



28
29
30
31
32
33
34
35
36
37
38
# File 'activejob/lib/active_job/queue_adapters/queue_classic_adapter.rb', line 28

def enqueue_at(job, timestamp) # :nodoc:
  queue = build_queue(job.queue_name)
  unless queue.respond_to?(:enqueue_at)
    raise NotImplementedError, "To be able to schedule jobs with queue_classic " \
      "the QC::Queue needs to respond to `enqueue_at(timestamp, method, *args)`. " \
      "You can implement this yourself or you can use the queue_classic-later gem."
  end
  qc_job = queue.enqueue_at(timestamp, "#{JobWrapper.name}.perform", job.serialize)
  job.provider_job_id = qc_job["id"] if qc_job.is_a?(Hash)
  qc_job
end