为Python中的每个Celery任务分配特定数量的工作程序

问题描述

我有三个芹菜任务:

  • 预测
  • 培训
  • 健康检查

我的机器上有4个CPU。我想分配3名工人进行预测和培训,并分配1名工人进行健康检查。最简单的实现方法是什么?请注意,我将安排这些任务,因此,我无法直接在apply_async()函数中指定工作者的数量。

实际配置:

CELERY = Celery(
    CELERY_APP_NAME,backend=CELERY_BACKEND,broker=CELERY_BROKER,include=["src.tasks"],)

CELERY.conf.update({"task_routes": {"src.tasks.*": {"queue": "input_queue"}},}
                   )


@CELERY.task
def prediction():
    pass

@CELERY.task
def training():
    pass

@CELERY.task
def healthcheck():
    pass

以及运行工作程序的命令:

celery --loglevel=INFO -A src.tasks worker -Q input_queue

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)