在特定的持续时间内打开和关闭流媒体客户端



我不想经常用TweetStream打开Twitter流媒体连接,并在大约一个小时内监听新状态。

我应该如何打开连接,保持它打开一个小时,然后优雅地关闭它?

通常情况下,对于后台流程,我会使用Resque或Sidekiq,但据我所知,这些是为了尽快完成任务,而不是让人不寒而栗,保持连接畅通。

我曾想过使用像$twitter_client这样的全局变量,但它不会水平缩放。

我还想过构建一个在一个盒子上运行的第二个应用程序来处理这个功能,但如果它能以某种方式集成到主应用程序中,那就太过分了。

要澄清的是,我很容易启动一个流程,捕捉推文,并适当地使用它们。我只是不确定我应该从什么开始。一个新的应用程序?某种守护进程?

我从来没有遇到过这样的问题,我完全迷失了方向。任何方向都将不胜感激!

虽然不是一个直接的修复程序,但我会看到:


时间

你在用时间工作,所以我想看看可以使用哪些以时间为中心的流程来诱导一个小时的连接

具体来说,我会考虑在服务器上运行某种作业,您可以在特定的时间(如果需要的话,通过编程方式)激发它,以打开&关闭连接。我只在resque方面有经验,但正如你所说,这可能不适合这份工作。如果我找到任何更好的解决方案,我一定会更新答案


存储

一旦你连接到TweetStream,你就会想知道如何在这段时间内捕捉推文。仅仅为工作创建一个数据表似乎是一种浪费,所以我倾向于使用Redis之类的东西来存储你需要的推文

然后,它可以用来输出您需要的推文,允许您模拟存储/捕获它们,但在小时窗口通过后删除它们


交付

我不知道你在什么环境下使用这个功能,所以我只给你尽可能通用的流程想法

为了显示推文,我会亲自在数据库中创建某种记录,以显示当天你ping TweetStream的时间(如果它发生了变化;如果它是常量,只需在初始化器中设置一个常量),然后只需包含一些逻辑,就可以尝试从Redis获取推文。如果你能收集它们,按你的意愿显示,否则不要打印任何

希望这能给你更广泛的想法?

相关内容

  • 没有找到相关文章

最新更新