我正在使用tweetstream
gem连接到 twitter API,如下所示。它工作正常,但是当我在更改处理流的方式时停止并重新启动流时,在 2 小时左右重新启动大约 5 次后,流停止给我更新,并且on_reconnect
事件每 30 秒左右发生一次.
我在想这是因为这会触发速率限制,或者是因为在开始新的连接之前之前的连接没有被终止。有没有合适的方法来做到这一点?
我正在使用tweetstream
gem连接到 twitter API,如下所示。它工作正常,但是当我在更改处理流的方式时停止并重新启动流时,在 2 小时左右重新启动大约 5 次后,流停止给我更新,并且on_reconnect
事件每 30 秒左右发生一次.
我在想这是因为这会触发速率限制,或者是因为在开始新的连接之前之前的连接没有被终止。有没有合适的方法来做到这一点?
我不确定我的问题的原因,但这就是我所做的:
更新库(捆绑更新)。关于 github 问题的讨论似乎暗示底层 EventMachine gem 可能存在导致连接问题的错误,该错误已在最新版本中修复。
确保您的系统时间是现实的。至少有一次我的系统时间(它没有与互联网时钟同步)与实时时间相差 30 多分钟,并且我的请求令牌被拒绝为无效(过期或将来签名)。
将流阅读器包装在Daemon中。给守护进程一个{:monitor => true}
选项,这样它就会在它死亡时重新启动作业。这种情况每周在我的服务器上发生几次,并出现超时错误(我猜测 API 端服务中断,或者我自己的互联网连接出现故障)。这更像是一种创可贴,因为它最初不应该真的死掉,但它把这个问题推到了我的优先级列表中,以至于我目前并不担心它。