Class: Taskinator::Queues::SidekiqAdapter

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

Defined Under Namespace

Classes: JobWorker, ProcessWorker, TaskWorker

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ SidekiqAdapter

Returns a new instance of SidekiqAdapter.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/taskinator/queues/sidekiq.rb', line 11

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

  ProcessWorker.class_eval do
    sidekiq_options :queue => config[:process_queue]
  end

  TaskWorker.class_eval do
    sidekiq_options :queue => config[:task_queue]
  end

  JobWorker.class_eval do
    sidekiq_options :queue => config[:job_queue]
  end
end

Instance Method Details

#enqueue_job(job) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/taskinator/queues/sidekiq.rb', line 39

def enqueue_job(job)
  # get the queue name
  queue = job.job.get_sidekiq_options['queue']
  JobWorker.get_sidekiq_options.merge!('queue' => queue) if queue

  JobWorker.perform_async(job.uuid)
end

#enqueue_process(process) ⇒ Object



31
32
33
# File 'lib/taskinator/queues/sidekiq.rb', line 31

def enqueue_process(process)
  ProcessWorker.perform_async(process.uuid)
end

#enqueue_task(task) ⇒ Object



35
36
37
# File 'lib/taskinator/queues/sidekiq.rb', line 35

def enqueue_task(task)
  TaskWorker.perform_async(task.uuid)
end