pynsq:后退 'n' 秒
Posted
技术标签:
【中文标题】pynsq:后退 \'n\' 秒【英文标题】:pynsq: backing off for 'n' secondspynsq:后退 'n' 秒 【发布时间】:2013-07-30 21:07:20 【问题描述】:什么
我正在使用 4 个消费者从 NSQ 服务器消费消息。我正在尝试调试我看到 backing off
日志的原因,因为我的消费者在发生这种情况时会放慢速度。
我正在记录异常,那时我返回 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
块之外。
【讨论】:
以上是关于pynsq:后退 'n' 秒的主要内容,如果未能解决你的问题,请参考以下文章