在PubNub.subscribe()期间收到超时错误到通道时我们应该怎么办?

时间:2016-07-19 04:52:15

标签: javascript node.js pubnub

我在后端运行基于Node.js的PubNub服务来处理设备令牌注册,并且还将设备订阅到特定频道。经过一段时间观察日志流后,我注意到订阅设备时出现了很多超时错误。

记录错误:

error: Failed to subscribe the clients { message: 'timeout' }
error: Failed to subscribe the clients { message: 'timeout' }
error: Failed to subscribe the clients { message: 'timeout' }
error: Failed to subscribe the clients { message: 'timeout' }
error: Failed to subscribe the clients { message: 'timeout' }
error: Failed to subscribe the clients { message: 'timeout' }
error: Failed to subscribe the clients { message: 'timeout' }

运行订阅过程的代码段:

...
subscribe: function (channelId) {
    pubnub.subscribe({
      channel: channelId,
      message: function (message, env, channel) {
        sails.log.info('new message received > ', message);
      },
      error: function (error) {
        sails.log.error('Failed to subscribe the clients', error);
      }
    });
  },
...

根据the API doc默认情况下,客户端将在超过320秒的连接超时后尝试重新连接。我的理解是,当订阅超时时,客户端(PubNub SDK for Node.js)将重新连接,不确定是否为真。

如果不是,我是否需要实现另一个代码来处理此订阅超时错误?

附注:

  1. 当前的实现没有使用PubNub提供的任何Presence功能,因此这个超时显然与Presence无关。

0 个答案:

没有答案