从一条线上处决两名芹菜工人

Executing two celery workers from one line

我在一个团队中为我的大学做一个项目,我主要在前端和一些基本的 django 模型上工作,所以我不太熟悉 eloquent django-celery,我也没有设置它。起初我们使用了一个 celery 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

但它使我的项目无法运行。

感谢任何帮助,谢谢!

尝试

exec celery -A my_proj --concurrency=1 worker && exec celery -A my_proj --concurrency=1 worker -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