Class: Taskinator::Queues::DelayedJobAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/taskinator/queues/delayed_job.rb

Defined Under Namespace

Classes: JobWorker, ProcessWorker, TaskWorker

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ DelayedJobAdapter

Returns a new instance of DelayedJobAdapter.



11
12
13
14
15
16
17
# File 'lib/taskinator/queues/delayed_job.rb', line 11

def initialize(config={})
  @config = {
    :process_queue => :default,
    :task_queue => :default,
    :job_queue => :default,
  }.merge(config)
end

Instance Method Details

#enqueue_job(job) ⇒ Object



29
30
31
32
33
# File 'lib/taskinator/queues/delayed_job.rb', line 29

def enqueue_job(job)
  # delayed jobs don't define the queue so use the configured queue instead
  queue = job.queue || @config[:job_queue]
  ::Delayed::Job.enqueue JobWorker.new(job.uuid), :queue => queue
end

#enqueue_process(process) ⇒ Object



19
20
21
22
# File 'lib/taskinator/queues/delayed_job.rb', line 19

def enqueue_process(process)
  queue = process.queue || @config[:process_queue]
  ::Delayed::Job.enqueue ProcessWorker.new(process.uuid), :queue => queue
end

#enqueue_task(task) ⇒ Object



24
25
26
27
# File 'lib/taskinator/queues/delayed_job.rb', line 24

def enqueue_task(task)
  queue = task.queue || @config[:task_queue]
  ::Delayed::Job.enqueue TaskWorker.new(task.uuid), :queue => queue
end