def on_msg(msg)

      return if @max_size < 1

      msg = Ruote.fulldup(msg)
      msg['seen_at'] = Ruote.now_to_utc_s

      @history << msg

      while (@history.size > @max_size) do
        @history.shift
      end

    rescue => e

      $stderr.puts '>' + '-' * 79
      $stderr.puts "#{self.class} issue, skipping"
      $stderr.puts e.inspect
      $stderr.puts e.backtrace[0, 2]
      $stderr.puts '<' + '-' * 79
    end
def on_msg(msg)

      return if @max_size < 1

      msg = Ruote.fulldup(msg)
      msg['seen_at'] = Ruote.now_to_utc_s

      @history << msg

      while (@history.size > @max_size) do
        @history.shift
      end

    rescue => e

      $stderr.puts '>' + '-' * 79
      $stderr.puts "#{self.class} issue, skipping"
      $stderr.puts e.inspect
      $stderr.puts e.backtrace[0, 2]
      $stderr.puts '<' + '-' * 79
    end
This method is called by the worker via the context. Successfully
 processed msgs are passed here.