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' 秒的主要内容,如果未能解决你的问题,请参考以下文章

听力 | THE EUREKA MOMENT

GBN(后退n帧协议)与SR(选择性重传协议)

隐藏导航栏但保留后退按钮 - SwiftUI

Xamarin Android 中视频播放器中的前进和后退选项问题

避免 pynsq 中的消息超时

当后退按钮按下销毁应用程序时,Flutter Android Platform EventChannel 不会停止