微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 pubnub 回调函数中打印不显示

如何解决在 pubnub 回调函数中打印不显示

我正在 Python 中测试 pubnub API,但在订阅回调函数中打印消息时遇到问题,该函数在出现新消息时触发。

在下面的代码中,收到的消息以某种方式排队并仅打印 当一些消息被发送后。一切都毫不拖延地执行, 只有实际打印延迟。

from pubnub.callbacks import SubscribeCallback
from pubnub.enums import PNStatusCategory
from pubnub.pnconfiguration import PNConfiguration
from pubnub.pubnub import PubNub
import pubnub

import os
import logging

CHANNEL = 'channel1'
USER = 'user'

pnconfig = PNConfiguration()
pnconfig.publish_key = ""
pnconfig.subscribe_key = ""
pnconfig.uuid = "serverUUID-PUB"

pnb = PubNub(pnconfig)

class ReceiverCallback(SubscribeCallback):

    def message(self,pnb,event):
        if event.message['text'] == 'exit':
            os._exit(0)
        print(logging.info(event.message['text'])) # this doesn't show

pnb.add_listener(ReceiverCallback())
pnb.subscribe().channels(CHANNEL).execute()

while True:
    txt = input('')
    pnb.publish().channel(CHANNEL).message({
        'from': USER,'text': txt
    }).sync()
    print(txt) # this shows

如果我将 print 替换为 logging.warn 并在循环之前设置 pubnub.set_stream_logger('pubnub',logging.INFO,30),则消息显示ERROR:root:<message>, 但同样不适用于 logging.infologging.debug 显示额外 通过 API 的实现进行日志记录。

我不认为我从中获得代码的教程(基本相同)没有提到这一点。 我也没有发现其他地方提到了这个问题。

编辑:结果证明这只是在从 git bash 运行脚本时出现问题,而不是从例如空闲或 Powershell。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。