Class: Taskinator::Queues::ResqueAdapter

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

Defined Under Namespace

Classes: CreateProcessWorker, 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
# File 'lib/taskinator/queues/resque.rb', line 11

def initialize(config={})
  config = Taskinator::Queues::DefaultConfig.merge(config)

  CreateProcessWorker.class_eval do
    @queue = config[:definition_queue]
  end

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

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

end

Instance Method Details

#enqueue_create_process(definition, uuid, args) ⇒ Object



28
29
30
31
# File 'lib/taskinator/queues/resque.rb', line 28

def enqueue_create_process(definition, uuid, args)
  queue = definition.queue || Resque.queue_from_class(CreateProcessWorker)
  Resque.enqueue_to(queue, CreateProcessWorker, definition.name, uuid, Taskinator::Persistence.serialize(args))
end

#enqueue_process(process) ⇒ Object



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

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

#enqueue_task(task) ⇒ Object



38
39
40
41
# File 'lib/taskinator/queues/resque.rb', line 38

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