class ActiveJob::QueueAdapters::DisqueAdapter

Public Class Methods

client(client: nil, timeout: nil) click to toggle source
# File lib/active_job/queue_adapters/disque_adapter.rb, line 24
def self.client(client: nil, timeout: nil)
  @disque_timeout ||= timeout || ENV.fetch('DISQUE_TIMEOUT', '100').to_i

  @disque_client ||= client || Disque.new(
    ENV.fetch('DISQUE_NODES', 'localhost:7711'),
    auth: ENV.fetch('DISQUE_AUTH', nil),
    cycle: ENV.fetch('DISQUE_CYCLE', '1000').to_i
  )
end
enqueue(job) click to toggle source
# File lib/active_job/queue_adapters/disque_adapter.rb, line 7
def self.enqueue(job)
  client.push(
    job.queue_name,
    ActiveSupport::JSON.encode(job.serialize),
    @disque_timeout
  )
end
enqueue_at(job, timestamp) click to toggle source
# File lib/active_job/queue_adapters/disque_adapter.rb, line 15
def self.enqueue_at(job, timestamp)
  client.push(
    job.queue_name,
    ActiveSupport::JSON.encode(job.serialize),
    @disque_timeout,
    delay: timestamp.to_i - Time.now.to_i
  )
end