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