与 django 应用程序一起连续运行任务

Posted

技术标签:

【中文标题】与 django 应用程序一起连续运行任务【英文标题】:Running continually tasks alongside the django app 【发布时间】:2012-05-23 03:50:07 【问题描述】:

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

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

起初在我看来 celery+rabbitmq 是我的问题的解决方案,但据我了解,它们在 django 中用于启动计划或用户触发的任务,而不是无限期运行的任务。

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

【问题讨论】:

相关问题:***.com/questions/3200001/using-crontab-with-django 【参考方案1】:

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

您可以将它与您喜欢的任何排队技术相结合,将事物推送到您的队列中。

【讨论】:

以上是关于与 django 应用程序一起连续运行任务的主要内容,如果未能解决你的问题,请参考以下文章

用supervisord运行芹菜无法发现任务

你如何让亚马逊 SQS 与 Django celery 一起工作

Celery 和 Django 的定期任务

将 Django URL 与 AngularJs routeProvider 一起使用

如何将 PL/SQL .sql 文件转换为 SQL*PLUS,以便它可以与 Windows 任务计划程序一起运行

Django + Telegram + Celery 的定期和非定期任务