class DispatchRider::Handlers::Base
Attributes
raw_message[R]
Public Class Methods
set_default_retry( amount )
click to toggle source
# File lib/dispatch-rider/handlers/base.rb, line 10 def set_default_retry( amount ) define_method(:retry_timeout) do amount end end
Public Instance Methods
do_process(raw_message)
click to toggle source
# File lib/dispatch-rider/handlers/base.rb, line 19 def do_process(raw_message) with_named_process(raw_message) do @raw_message = raw_message process(raw_message.body) end rescue Exception => e self.retry if retry_on_failure? raise e end
process(message)
click to toggle source
# File lib/dispatch-rider/handlers/base.rb, line 29 def process(message) raise NotImplementedError, "Method 'process' not overridden in subclass!" end
Protected Instance Methods
extend_timeout(timeout)
click to toggle source
# File lib/dispatch-rider/handlers/base.rb, line 35 def extend_timeout(timeout) raw_message.extend_timeout(timeout) end
retry()
click to toggle source
# File lib/dispatch-rider/handlers/base.rb, line 43 def retry timeout = retry_timeout case timeout when :immediate return_to_queue else extend_timeout(timeout) end end
retry_on_failure?()
click to toggle source
# File lib/dispatch-rider/handlers/base.rb, line 53 def retry_on_failure? respond_to? :retry_timeout end
return_to_queue()
click to toggle source
# File lib/dispatch-rider/handlers/base.rb, line 39 def return_to_queue raw_message.return_to_queue end