【问题标题】:Executing two celery workers from one line从一条线上执行两名芹菜工人
【发布时间】:2020-07-08 18:29:48
【问题描述】:

我正在一个团队中为我的大学做一个项目,我主要从事前端和一些基本的 django 模型工作,所以我对 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

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

感谢您的帮助,谢谢!

【问题讨论】:

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


    【解决方案1】:

    试试

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

    【讨论】:

    • 它对我不起作用。它似乎只运行第一部分,因为当我更改顺序时它运行另一部分。
    【解决方案2】:

    解决方案

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

    上面告诉 start 2 个 worker 和 2nd 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
    

    【讨论】:

      猜你喜欢
      • 2019-08-24
      • 2014-07-14
      • 2020-10-07
      • 1970-01-01
      • 2014-08-17
      • 2021-10-24
      • 2019-08-01
      • 2017-09-30
      • 2016-04-20
      相关资源
      最近更新 更多