在 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 (将#修改为@)