【问题标题】:celery with Django芹菜与 Django
【发布时间】:2021-11-29 11:34:40
【问题描述】:

我正在构建一个应用程序,并且每天都在尝试运行一些任务。所以我看到了一些关于using celery 的答案、博客和教程,所以我喜欢使用 celery 做后台工作的想法。

但我有一些关于芹菜的问题:-

正如Celery Documentation 中提到的,在设置 celery 任务之后,我必须运行像 celery -A proj worker -l INFO 这样的命令,它将处理所有任务,在命令之后它将运行任务,所以我的问题是,我必须停止正在运行的服务器来执行这个命令和 如果我在 Heroku 或 Python Anywhere 上使用 celery 部署 Django 项目会怎样。

我应该每次都运行命令还是我可以先执行这个命令然后我可以启动服务器?

如果我每次都必须运行这个命令来执行后台任务,那么在部署到 Heroku 时这怎么可能,

仅在终端中执行python manage.py run server 后,celery 的后台任务是否会继续运行?

为什么我有疑问? :-

我的想法是,当运行celery -A proj worker -l INFO 时,它将处理(或运行)任务,我无法在一个终端中执行运行服务器。

任何帮助将不胜感激。谢谢你

【问题讨论】:

    标签: python django celery django-celery


    【解决方案1】:

    我应该每次都运行命令还是我可以先执行这个命令然后我可以启动服务器?

    Docker 化你的 celecry 并编写你自己的自动运行脚本。

    【讨论】:

      【解决方案2】:

      您不能同时在一个终端上运行 celery worker 和 django 应用程序,因为它们都是应该并行运行的程序。所以你应该使用两个终端,一个用于 django,另一个用于 celery worker。
      我强烈推荐阅读 this heroku development article 在 heroku 上使用 Celery 和 Django。

      【讨论】:

        猜你喜欢
        • 2012-05-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-25
        • 2018-01-27
        • 2020-08-25
        • 2013-10-04
        • 2015-01-10
        • 2014-12-23
        相关资源
        最近更新 更多