Class: Taskinator::Queues::ResqueAdapter

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

Defined Under Namespace

Classes: JobWorker, ProcessWorker, TaskWorker

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ ResqueAdapter

Returns a new instance of ResqueAdapter.



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

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

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

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

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

Instance Method Details

#enqueue_job(job) ⇒ Object



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

def enqueue_job(job)
  # get the queue name
  queue = Resque.queue_from_class(job.job) ||
            Resque.queue_from_class(JobWorker)

  Resque.enqueue_to(queue, JobWorker, job.uuid)
end

#enqueue_process(process) ⇒ Object



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

def enqueue_process(process)
  Resque.enqueue(ProcessWorker, process.uuid)
end

#enqueue_task(task) ⇒ Object



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

def enqueue_task(task)
  Resque.enqueue(TaskWorker, task.uuid)
end