Module: Qs::DispatchJobHandler::InstanceMethods

Defined in:
lib/qs/dispatch_job_handler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#eventObject (readonly)

Returns the value of attribute event.



18
19
20
# File 'lib/qs/dispatch_job_handler.rb', line 18

def event
  @event
end

#subscribed_queue_namesObject (readonly)

Returns the value of attribute subscribed_queue_names.



18
19
20
# File 'lib/qs/dispatch_job_handler.rb', line 18

def subscribed_queue_names
  @subscribed_queue_names
end

Instance Method Details

#init!Object



20
21
22
23
24
# File 'lib/qs/dispatch_job_handler.rb', line 20

def init!
  @event = Qs::DispatchJob.event(job)
  @subscribed_queue_names = Qs.event_subscribers(@event)
  @qs_failed_dispatches = []
end

#run!Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/qs/dispatch_job_handler.rb', line 26

def run!
  logger.info "Dispatching #{self.event.route_name}"
  logger.info "  params:       #{self.event.params.inspect}"
  logger.info "  publisher:    #{self.event.publisher}"
  logger.info "  published at: #{self.event.published_at}"
  logger.info "Found #{self.subscribed_queue_names.size} subscribed queue(s):"
  self.subscribed_queue_names.each do |queue_name|
    qs_dispatch(queue_name, self.event)
  end
  qs_handle_errors(self.event, @qs_failed_dispatches)
end