使用 Django App 在 Heroku 上获取 Twitter 流

Posted

技术标签:

【中文标题】使用 Django App 在 Heroku 上获取 Twitter 流【英文标题】:Getting the Twitter stream on Heroku with Django App 【发布时间】:2012-02-21 19:06:57 【问题描述】:

我需要使用 Heroku 持续监控 Twitter 流。基本上我想做的是启动监控过程并且永远不要停止。我正在研究 celery,但根据我对它的理解,它看起来像是用户启动或短期进程将任务添加到队列中,然后由另一个队列处理。这与让后台进程不断监控 Twitter 流不同的模型。在 Heroku 上监控 Django 应用程序的 Twitter 流的最佳方法是什么?

【问题讨论】:

【参考方案1】:

我不知道 Django 中有任何东西可以像这样在后台运行。这当然是生活在网络应用沙箱中的限制之一。

如果您可以访问 Heroku (?) 中的服务器,您可以按照 this tutorial 的行编写自己的脚本/应用程序并使用 Supervisord 进行守护进程。

如果不是: 芹菜有一个很好的periodic scheduler。如果您对轮询而不是流式传输 (API) 感到满意,我可能只使用 twitter REST API 和 Celery 中的调度程序来定期轮询和更新。将调度与速率限制相匹配也很有帮助。

【讨论】:

我可以安排一个无限长的任务吗? 是的,我猜你可以开始一个不end 的任务。为了获得良好的正常运行时间,您必须聪明地监控它并在它死机或出错时重新启动它。那里有一些做类似事情的设施;也许您可以有一些其他定期任务来检查活动任务,并在必要时启动一个新任务。子任务、任务集或和弦功能也可能很有用。然而,它不是“开箱即用”支持的东西,可能需要一些时间才能正确实施。 请注意,如果您在 Heroku 上运行它,您可以使用他们的调度程序而不是 celery。我这样做是为了我的一个应用程序,该应用程序记录在 princesspolymath.com/princess_polymath/?p=521">here</…>

以上是关于使用 Django App 在 Heroku 上获取 Twitter 流的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 上的 Django 静态文件

Django,创建反应应用程序,Heroku

在Heroku上部署Django应用程序:错误[R10]

Heroku 在错误的目录中寻找 Procfile

Django 迁移在 Heroku 中失败

Errno 2文件b'不存在:在heroku django中