为了在docker中运行芹菜队列,我想指定多个具有不同并发性的队列



目前我使用的是docker compose,其中我指定了芹菜作为服务,其中q1,q2,q3 ,q4 and q5是一些不同的队列,我想分配每个队列不同的concurrency.

celery:
restart: always
build: 
context: 
dockerfile: Dockerfile
container_name: celery
command: celery --app=celery:app worker --concurrency=8 --loglevel=DEBUG -Q q1,q2,q3,q4,q5
depends_on:
- redis
- web 

我在某处读到芹菜多,但不知道它是否适合我的用例。

Multi适合您的用例。

celery multi start 
q1w q2w q3w 
-c:q1w 2 -c:q2w,q3w 4 
-Q:q1w q1 -Q:q2w q2 -Q:q3w q3
  • q1w→Q1 worker(我们可以启动命名节点,q1w是名称)。

  • 我们可以为每个节点定义队列(-Q)和并发(-c)选项或多个节点(逗号分隔)。

你可以用其他选项扩展它。

详细信息请参考此链接https://docs.celeryq.dev/en/stable/reference/celery.bin.multi.html

PS:你可以做celery multi show ...,它会给你工作命令,它会运行。

最新更新