class EstormMessageProcessor::Consumer
Attributes
logger[RW]
Public Instance Methods
cancelled?()
click to toggle source
# File lib/estorm-message-processor/consumer.rb, line 8 def cancelled? @cancelled end
count()
click to toggle source
# File lib/estorm-message-processor/consumer.rb, line 11 def count @mycount=0 if @mycount==nil @mycount end
handle_cancellation(_)
click to toggle source
# File lib/estorm-message-processor/consumer.rb, line 29 def handle_cancellation(_) msg="consumer cancellation queue called" @logger.info msg @cancelled = true end
increment()
click to toggle source
# File lib/estorm-message-processor/consumer.rb, line 23 def increment @mycount=self.count+1 @cancelled=true if @exit_flag && @exit_count < @mycount @mycount end
process_messages(delivery_info,metadata,body)
click to toggle source
process message
# File lib/estorm-message-processor/consumer.rb, line 35 def process_messages(delivery_info,metadata,body) begin cmdhash=YAML.load(body) delegatestring="delegate_#{cmdhash['command']}" # create procedures named delegate_command accepting cmdhash msg = "-----> [gem estorm message processor: consumer] Received from App #{body} calling delegate #{delegatestring} count: #{self.count} " @logger.info msg self.send(delegatestring,cmdhash) # self.send(delegatestring,cmdhash) #load the promotion and process through data self.increment rescue Exception => e # add could not convert integer msg= "[gem estorm message processor] bunny exception #{e.message} found #{e.inspect} #{e.backtrace}..." #THIS NEEDS WORK! @logger.info msg end end
queue_statistics()
click to toggle source
get the queue statistics and log it.
# File lib/estorm-message-processor/consumer.rb, line 53 def queue_statistics msg_count=0 begin msg_count =@queue.message_count consumer_count =@queue.consumer_count msg = "queue status for queue [#{@queue.name}] message count: #{msg_count} consumers: #{consumer_count}" @logger.info msg if @logger!=nil rescue Exception => e msg = "exception in queue statistics #{e.inspect}" @logger.info msg if @logger!=nil end [msg_count, consumer_count] end
target(count,flag)
click to toggle source
this is a target to count messages and exit if needed
# File lib/estorm-message-processor/consumer.rb, line 17 def target(count,flag) msg = "-- Message Processor exit when complete flag set: target messages is #{count} flag is #{flag}" logger.info msg @exit_flag=flag @exit_count=count-1 end