我有芹菜设置从RabbitMQ获取任务,但事情正在排除,但我注意到以下行为(T
:任务,P
:进程):
--> Fetch first batch of messages (6 tasks) from broker
<-- messages are received. Start them
--> Send T1..T6 to be executed by P1..P6
--> Prefetch 6 new messages from broker, but do not ACK them
<-- P1..P5 finish tasks T1..T5, but T6 is still being processed (it will take ~2h)
此时,没有其他任务开始运行,尽管我将并发设置为6并且只有一个进程处于活动状态。我在芹菜花上尝试了add_consumer命令,但似乎没有任何事情发生。我可以在RabbitMQ上看到有消息没有ACK
,而READY
状态的消息刚刚开始堆叠,因为它们不会被消耗掉~2h。
有没有办法设置芹菜,这样只要进程空闲,它就会消耗下一个任务,而不是等待原始批次完全完成?