与django应用程序一起运行不断的任务

时间:2012-05-15 15:30:55

标签: django rabbitmq django-celery

我正在构建一个django应用程序,其中列出了热门(根据特定算法)推特热门话题。

我想无限期地运行一些进程来进行twitter API调用并使用新信息更新数据库(postgre)。这样,热门趋势主题列表就会异步更新。

起初我觉得celery + rabbitmq是我问题的解决方案,但据我所知,他们在django中使用它来启动预定或用户触发的任务,而不是无限期地运行任务。

我想到的解决方案是写一个.py文件来不断地将热门主题放入队列并编写连续运行的独立.py文件,从而获取队列请求并将数据保存在django使用的db中,并使用原始SQL或SQLAlchemy。我认为这可行,但我很确定有更好的方法可以做到。

1 个答案:

答案 0 :(得分:1)

如果您只是需要让某些进程持续运行,supervisor是一个不错的解决方案。

您可以将它与您喜欢的任何排队技术结合起来,将事物推入队列。