2013-07-30 2 views
0

WHAT Я потребляю сообщения от сервера NSQ с использованием 4-х потребителей. Я пытаюсь отладить причину, по которой я вижу журналы backing off, так как мои потребители замедляются, когда это происходит.pynsq: отключение для 'n' секунд

Я регистрирую исключения, и это когда я возвращаю False, чтобы запросить сообщение. Я не вижу, чтобы какие-то исключения регистрировались, но я продолжаю видеть это сообщение. Помогите!!


2013-07-30 14:41:10,304 INFO [ip-10-114-195-89:4150:nsq_msg_handler] backing off for 3.58 seconds 
2013-07-30 14:41:10,304 DEBUG took 0.000000 seconds for json_data _id: 52d730669c615b67 

2013-07-30 14:46:44,414 INFO [ip-10-114-195-89:4150:nsq_msg_handler] backing off for 3.58 seconds 
2013-07-30 14:46:44,414 DEBUG took 0.000000 seconds for json_data _id: 7e9c5fe5ba168496 

КОД



    def connect_nsq(self): 
     r = nsq.Reader(message_handler=self.nsq_msg_handler, lookupd_http_addresses=["127.0.0.1:4161"], topic="test_topic", channel="test_channel", max_in_flight=500) 

     nsq.run() 


    # callback 
    def nsq_msg_handler(self, message): 
     try: 
      before_ts = get_utc_now_ts() 
      json_data = json.loads(message.body) 

      my_data = json_data["key1"] 
      my_data = json_data["key2"] 
      my_data = json_data["key3"] 

      after_ts = get_utc_now_ts() 
      delta = after_ts - before_ts 
      logger.debug("took %f seconds for json_data _id: %s" % (delta, json_data["_id"])) 
     except Exception as reason: 
      print reason, traceback.format_exc() 
      return False 

     return true 

ответ

1

Похоже, проблема ваша последняя строка True должна быть заглавной. Они считают, что трассировка не печатается, потому что исключение происходит за пределами вашего блока try.

Смежные вопросы