Class: ActiveJob::QueueAdapters::BarbequeAdapter

Inherits:
AbstractAdapter
  • Object
show all
Defined in:
lib/active_job/queue_adapters/barbeque_adapter.rb

Instance Method Summary collapse

Instance Method Details

#enqueue(job) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/active_job/queue_adapters/barbeque_adapter.rb', line 4

def enqueue(job)
  execution = BarbequeClient.enqueue(
    job:     job.class.to_s,
    message: ActiveJob::Arguments.serialize(job.arguments),
    queue:   job.queue_name,
  )
  job.job_id = execution.message_id
end

#enqueue_at(job, timestamp) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/active_job/queue_adapters/barbeque_adapter.rb', line 13

def enqueue_at(job, timestamp)
  delay_seconds = (timestamp - Time.now.to_f).round
  execution = BarbequeClient.enqueue(
    job:     job.class.to_s,
    message: ActiveJob::Arguments.serialize(job.arguments),
    queue:   job.queue_name,
    delay_seconds: delay_seconds,
  )
  job.job_id = execution.message_id
end