django - 从一条线上处决两名 celery worker

标签 django celery django-celery django-celery-beat

我在一个团队中为我的大学做一个项目,我主要在前端和一些基本的 django 模型上工作,所以我对 django-celery 不太熟悉和 Eloquent ,而且我也没有设置它。起初我们使用了一个 celery worker,但我不得不再添加一个,这样我才能完成一个用户故事。

我目前正在运行两名 worker ,每个 worker 在一个终端中,如下所示:

exec celery -A my_proj --concurrency=1 worker
exec celery -A my_proj --concurrency=1 worker -B -Q notification

虽然我运行这两个项目,但我需要它们从一行开始。所以: 我如何将这两者合并为一个脚本行?

到目前为止,我已经尝试过:

exec celery multi start celery -A my_proj --concurrency=1 notification -A my_proj --concurrency=1 -B -Q notification

但它会阻止我的项目运行。

感谢任何帮助,谢谢!

最佳答案

解决方案

celery multi start 2 -A my_proj -c=1 -B:2 -Q:2 notification

上面告诉启动 2 个 worker 和第 2 个 worker 来处理 notification 队列并将 celery beat 嵌入其中

解释

您可以运行以下命令以查看由此产生的命令

celery multi show 2 -A my_proj -c=1 -B:2 -Q:2 notification

输出:

celery worker -A my_proj -c=1
celery worker -A my_proj -c=1 -B -Q notification

关于django - 从一条线上处决两名 celery worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60895800/

相关文章:

javascript - 用 jQuery 替换 Django 中的图像

django - celery 的清理taskmeta表

python - django/celery - celery 状态 : Error: No nodes replied within time constraint

python - 如何在 Django 中的关系中指定唯一性

django - 在dockerized django应用程序中的Production中访问Pgadmin4

Django 社交身份验证调试 HTTP 错误 400 : Bad Request (linkedin)

python - 在 Celery/Django : cannot find reference 'control' in celery. 任务.control

python - 在 Django 中调用 .delay() 后 celery 任务挂起

python - 如何在硬超时时重试 celery 任务?

Django celery : scheduling recurring task but with fixed start date