- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
调用时如何获取 pubnub.time() 的结果?这肯定和我对python不太了解有关……
我正在尝试调用 pubnub.time() 来测试网络连接何时恢复,以便 pubnub 可以重新连接,并且我可以重新订阅必要的 channel 。我似乎无法获得所需的输出。根据 pubnub docs 、 time() 有 3 个方法,它们将返回 int、string 或 date。
envelope = pubnub.time()
envelope.int() outputs error
envelope.str() outputs error
envelope.date_time() outputs error
我唯一能上类的是print(envelope)
产生 <pubnub.endpoints.time.Time object at 0x75fb8f50>
.
我不会深入研究我在这方面尝试过多少次迭代,然后寻求帮助。
更新
我们有几个远程系统,我们希望使用 PubNub 从连接到机器的硬件收集数据点。数据请求将会进来,PubNub 需要响应这些请求。我们的主要问题是这些远程位置的 DSL 非常不稳定,一次会停机数小时到数天,而当我们的 python 应用程序仍在运行时,PubNub 不会重新连接。尝试使用 LINEAR 和 EXPONENTIAL 的 reconnect_policy 都无法在互联网中断后重新连接。不过,小而短的中断将会恢复。除此之外,PubNub 非常适合此设置。
这是我的设置配置
pnconfig = PNConfiguration()
pnconfig.subscribe_key = 'sub'
pnconfig.publish_key = 'pub'
pnconfig.reconnect_policy = 'PNReconnectionPolicy.EXPONENTIAL'
pnconfig.daemon = True
pnconfig.ssl = True
这是我们的订阅回调:
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 Python SDK 应该遵循这一理念。
在您的示例代码中,您似乎正在设置reconnect_policy
。但是,您的代码将重新连接策略变量设置为 'PNReconnectionPolicy.EXPONENTIAL'
字符串,而不是枚举 PNReconnectionPolicy.EXPONENTIAL
。
尝试对代码进行以下修改以利用重新连接策略:
from pubnub.enums import PNReconnectionPolicy ## <-- Import Enumerator
from pubnub.pnconfiguration import PNConfiguration
## ... init ...
## Set Reconnection Policy using Enumerator
pnconf.reconnect_policy = PNReconnectionPolicy.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
文档 Material :https://www.pubnub.com/docs/python/api-reference-configuration#configuration-args-1
关于python - 无法在Python中获取pubnub.time()的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55111932/
我们想在 Pubnub 的聊天 channel 中创建消息线程。例如,某人可以通过“创建线程”并开始聊天来响应 channel 中的特定消息。是否有规定的方法来模拟这种行为?如果是这样,您能否引用文档
我们想在 Pubnub 的聊天 channel 中创建消息线程。例如,某人可以通过“创建线程”并开始聊天来响应 channel 中的特定消息。是否有规定的方法来模拟这种行为?如果是这样,您能否引用文档
PubNub 建议“向任何一个 channel 发布消息的速度不得超过每秒 5 条消息”。我想知道 PubNub 本身是否有一些设置可以限制发布消息? 例如,我每秒向一个 channel 发布 100
我们正在使用 NodeJS 发布消息。订阅者是否可以通过电子邮件接收消息? 最佳答案 目前,PubNub 支持原生的 PubNub、GCM 和 APNS 消息端点。更多信息在这里:http://www
想象一下我们有很多生产者和一个消费者的场景。消费者订阅了一个名为“consumerGroup”的 channel 组。生产者每次进入系统,都会将 channel “Producer-ID-Channe
我正在研究 pubnub 以在 Rickshaw 的实时数据可视化中使用。但我不明白 channel 是否已经配置或者我们是否必须配置它们。如果是这样,我们如何为数据可视化配置 channel ?另外
假设相同的 uuid 是 subscribe() with channels 但他们在不同的订阅时间和来自不同的浏览器 场景 使用 Chrome 10 分钟之前 订阅 channel =>channe
我想知道从 pubnub.history 检索到的消息是谁发送的! pubnub.history() 只返回时间 token 和消息。 最佳答案 PubNub 发件人 UUID:实时与历史记录 发送者
是否可以获取与 Pubnub 订阅 key 关联的所有 channel ?使用此 key 创建的所有 channel ? 谢谢, 最佳答案 您可以使用 Global Here Now 调用 - htt
使用 PubNub Presence 功能时,是否可以提供用户加入或离开 channel 时 PubNub 调用的 HTTP 回调?就我而言,我想调用 Parse.com 云函数。澄清一下:我不想从客
我有一个特定的用例,我需要将用户的账户余额发送到他们的浏览器和/或移动设备。这些余额当然是私有(private)的,但当余额发生变化时,我需要将余额更新发送给每个连接的用户,但是,我担心会同时推送到
我有一个应用程序,每个用户必须接收仅与他们自己相关的通知。 为此,我为每个用户创建了一个唯一的 channel 名称。当用户使用 javascript 从浏览器登录时,我订阅了这个 channel 。
是否可以在 pubnub 中发布到 channel 组并接收到添加到 channel 组的所有 channel 的消息? 最佳答案 发布到 channel 组 目前不支持发布到 channel 组或多
在我的一个应用程序中,我使用 PUBNUB 进行实时网络通信。 但是我面临一些奇怪的问题,因为当我订阅一些 channel 时,window.print()(打印预览对话框未打开)根本不起作用。 如果
我正在尝试将时间戳 2016-02-11 03:31:18 转换为 17 位精度 unix 时间 (UTC) 的 pubnub 时间戳,类似于 pubnub 给出的引用 URL 中给出的 134067
PubNub 的 Eon Charts 为每条单独的 PubNub 消息查找一个 JSON 对象数据集。请参阅 git hub 上的 Eon-Chart pubnub-c3.js。 要了解可能出现的数
我正在使用 PubNub Api 和 ionic 平台创建 Whatsapp 应用程序。但是,它存在 ionic.bundle.js:21157 TypeError: PubNub.publish 不
记录每条已发布消息并将其保存到我的服务器数据库的正确方法是什么? 我能想到的有两种选择: 在发布事件后使用 PubNub 功能并将消息转发到专用的记录器 channel 。服务器将订阅 channel
我想从事与即时消息相关的个人项目。我想知道是否有像 pubnub 这样的 API 对公众开放。 谢谢 最佳答案 您可以在 http://www.pubnub.com/developers 找到所有开源
我正在努力了解如何使用 rxjs 库将以下内容转换为 observable。 var client = PUBNUB.init({ publish_key: 'pubkey', subscri
我是一名优秀的程序员,十分优秀!