我有兩種類型的任務,一種是由用戶生成的,另一種是以大批量創建的。任務將分隔隊列(「短」和「長」) 當一個隊列中存在任務時(即那個龐大的批次),Celery只會獲取那些完全忽略另一個隊列的任務,直到整個批處理完成。從許多隊列中獲取任務
Example:
send 100 slow tasks to "long" queue
send 100 small tasks to "short" queue
send 100 slow tasks to "long" queue
send 100 small tasks to "short" queue
Celery behaviour:
process 100 tasks form "long" queue
process 100 tasks form "short" queue
process 100 tasks form "long" queue
process 100 tasks form "short" queue
即使當我爲慢速任務設置rate_limit時,也會發生這種情況,即「長」隊列。我所得到的只是緩慢的任務阻塞系統時間更長:/ 有沒有辦法確保Celery從所有隊列中獲取任務? (我用芹菜2.5.1的RabbitMQ)
這可能是由於使用默認交換引起的(兩者相同)? – Fuxi 2012-03-16 13:02:25