如何得到结果公共时间()什么时候打电话?这肯定与我对python不太了解有关。。。在
我在打电话公共时间()测试网络连接何时恢复,以便pubnub可以重新连接,我可以重新订阅必要的频道。我似乎得不到所需的输出。根据pubnub docs,time()有3个将返回int、string或date的方法。在
envelope = pubnub.time()
envelope.int() outputs error
envelope.str() outputs error
envelope.date_time() outputs error
{{cd2>只能得到功的东西。在
我不会深入研究我在这上面尝试了多少次迭代,然后来寻求帮助。在
更新
我们有两个远程系统,我们想用PubNub从连接到机器的硬件上收集数据点。数据请求会进来,PubNub需要对请求做出响应。我们的主要问题是,这些远程位置的DSL非常脆弱,一次可以掉几个小时到几天,而我们的python应用程序仍在运行,PubNub无法重新连接。尝试使用线性和指数重新连接策略在internet中断后都无法重新连接。不过,小规模、短时间的停机将会恢复。除此之外,PubNub对于这个设置非常有用。在
这是我的设置配置
^{pr2}$以下是我们的订阅回复:
class MySubscribeCallback(SubscribeCallback):
def presence(self, pubnub, presence):
pass
def status(self, pubnub, status):
if status.is_error():
logger.error("PN Error" + str(status.error_data.exception))
if status.category ==
PNStatusCategory.PNUnexpectedDisconnectCategory:
logger.error("PN Unexpected Disconnect")
pubnub.reconnect()
pass
elif status.category == PNStatusCategory.PNConnectedCategory:
logger.info("PN Connected")
elif status.category == PNStatusCategory.PNReconnectedCategory:
logger.warning("PN Re-Connected")
pubnub.subscribe().channels('devChannel').execute()
pass
elif status.category == PNStatusCategory.PNDecryptionErrorCategory:
logger.error("PN Decryption Error")
pass
网络错误时重新连接PubNub SDK
PubNub SDK是耐用的,能够在不稳定的网络条件下保持套接字连接。虽然连接可能并不总是可用的,但是一旦网络连接恢复,PubNub SDK应该自动重新创建套接字并下载任何丢失的消息。PubNub pythonsdk应该遵循这一理念。在
在示例代码中,您似乎正在设置
reconnect_policy
。但是,您的代码将reconnect策略变量设置为'PNReconnectionPolicy.EXPONENTIAL'
字符串,而不是enumPNReconnectionPolicy.EXPONENTIAL
。在尝试对代码进行以下修改以利用重新连接策略:
SDK的默认值是
pnconf.reconnect_policy = PNReconnectionPolicy.NONE
。另一个有效的选项是pnconf.reconnect_policy = PNReconnectionPolicy.LINEAR
。在设置为
PNReconnectionPolicy.LINEAR
以进行自动重新连接。使用选项PNReconnectionPolicy.NONE
禁用自动重新连接。使用选项PNReconnectionPolicy.EXPONENTIAL
设置指数重试间隔。在参考资料:https://github.com/pubnub/python/search?q=PNReconnectionPolicy&unscoped_q=PNReconnectionPolicy
文件材料:https://www.pubnub.com/docs/python/api-reference-configuration#configuration-args-1
相关问题 更多 >
编程相关推荐