Module: QueueingRabbit::JobExtensions::Threaded::ClassMethods

Defined in:
lib/queueing_rabbit/extensions/threaded.rb

Instance Method Summary collapse

Instance Method Details

#create_monitorObject



50
51
52
# File 'lib/queueing_rabbit/extensions/threaded.rb', line 50

def create_monitor
  Monitor.supervise_as(monitor_name)
end

#monitorObject



45
46
47
48
# File 'lib/queueing_rabbit/extensions/threaded.rb', line 45

def monitor
  create_monitor unless Celluloid::Actor[monitor_name]
  Celluloid::Actor[monitor_name]
end

#monitor_nameObject



54
55
56
# File 'lib/queueing_rabbit/extensions/threaded.rb', line 54

def monitor_name
  :queueing_rabbit_monitor
end

#perform(payload, metadata) ⇒ Object



39
40
41
42
43
# File 'lib/queueing_rabbit/extensions/threaded.rb', line 39

def perform(payload, )
  job = self.new(payload, )
  monitor.link(job)
  job.async.perform_and_terminate
end