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



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

def enqueue_job(job)
  queue = job.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
34
# File 'lib/taskinator/queues/resque.rb', line 31

def enqueue_process(process)
  queue = process.queue || Resque.queue_from_class(ProcessWorker)
  Resque.enqueue_to(queue, ProcessWorker, process.uuid)
end

#enqueue_task(task) ⇒ Object



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

def enqueue_task(task)
  queue = task.queue || Resque.queue_from_class(TaskWorker)
  Resque.enqueue_to(queue, TaskWorker, task.uuid)
end