gpt4 book ai didi

django - 如何在 Heroku 上部署带有 Channels 和 Celery 的 Django?

转载 作者:行者123 更新时间:2023-12-02 08:10:06 25 4
gpt4 key购买 nike

如何在 Heroku 平台上部署以下堆栈?

  • Django
  • Django channel
  • celery

限制肯定是在 Procfile 上。

要使用 Celery 部署 Django,会是这样的:

web: gunicorn project.wsgi:application
worker: celery worker --app=project.taskapp --loglevel=info

使用 Channels 部署 Django 时:

web: daphne project.asgi:channel_layer --port $PORT --bind 0.0.0.0 -v2
worker: python manage.py runworker -v2

web 进程可以使用 ASGI,但 worker 进程将由 Channels 使用,我不知道如何与它一起启动 Celery。

最佳答案

Procfile 中可以有任意数量的条目。唯一特殊的是“web”,因为这是 Heroku 期望接收 Web 请求的请求,也是唯一一个它会自动为您启动的请求。其余部分您可以使用自己的名称:

web: gunicorn project.wsgi:application
celeryworker: celery worker --app=project.taskapp --loglevel=info
channelsworker: python manage.py runworker -v2

现在您可以执行 heroku ps:scale celeryworker=1heroku ps:scalechannelsworker=1 来启动其他两个进程。

请参阅Heroku Procfile docs了解更多信息。

关于django - 如何在 Heroku 上部署带有 Channels 和 Celery 的 Django?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48626756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com