使用 supervisor 和 gunicorn 启动 django-celery 进程?
Using supervisor and gunicorn to start up django-celery processes?
混乱!
使用 supervisor 启动 django 很容易,如下所示 - 基于我发现的教程:
supervisord.conf:
[program:gunicorn]
command=/home/me/.virtualenvs/app/bin/gunicorn app.wsgi:application --bind 127.0.0.1:8000 ;
然而芹菜似乎需要自己的启动方法:
celery -A app worker -l info
所以在我的 ignorance/confusion 中,我似乎必须从 Gunicorn 或 Celery 开始。显然我很困惑,因为毫无疑问很多人在 Supervisor 中使用芹菜。
我哪里错了?我如何使用主管在 Gunicorn 中启动 celery-django 应用程序?
celery -A app worker -l info
上面的命令将在前台启动一个 celery worker 实例。
如果您想使用 supervisor 来守护 worker,则有 an example supervisor configuration available in the celery source。 Supervisor 可以管理多个程序,因此您可以根据需要使用它来管理 gunicorn 和一个或多个 celery worker 实例。
celery worker 作为自己的进程运行。它连接到代理(例如 Redis)并等待您配置的队列上的任务。这些任务将从您的 Django 应用程序发送。
以下教程很好地解释了如何配置 supervisor 来启动和管理 celery worker。 https://realpython.com/blog/python/asynchronous-tasks-with-django-and-celery/
混乱!
使用 supervisor 启动 django 很容易,如下所示 - 基于我发现的教程:
supervisord.conf:
[program:gunicorn]
command=/home/me/.virtualenvs/app/bin/gunicorn app.wsgi:application --bind 127.0.0.1:8000 ;
然而芹菜似乎需要自己的启动方法:
celery -A app worker -l info
所以在我的 ignorance/confusion 中,我似乎必须从 Gunicorn 或 Celery 开始。显然我很困惑,因为毫无疑问很多人在 Supervisor 中使用芹菜。
我哪里错了?我如何使用主管在 Gunicorn 中启动 celery-django 应用程序?
celery -A app worker -l info
上面的命令将在前台启动一个 celery worker 实例。
如果您想使用 supervisor 来守护 worker,则有 an example supervisor configuration available in the celery source。 Supervisor 可以管理多个程序,因此您可以根据需要使用它来管理 gunicorn 和一个或多个 celery worker 实例。
celery worker 作为自己的进程运行。它连接到代理(例如 Redis)并等待您配置的队列上的任务。这些任务将从您的 Django 应用程序发送。
以下教程很好地解释了如何配置 supervisor 来启动和管理 celery worker。 https://realpython.com/blog/python/asynchronous-tasks-with-django-and-celery/