2012-01-15 26 views
0

我通過django-celery運行一些任務(以rabbitmq作爲後端),這些任務非常耗時且CPU密集。Django-celery狀態已收到?

我得到了2個工人的Ec2實例(一個是小的,另一個是高CPU介質)。

我設置了小實例運行1個併發任務,並且介質做4個。這對我很好。但偶爾在芹菜監視器中,我看到小實例正在執行一項任務,另有2或3個任務處於「已接收」狀態(分配給小實例),而介質實例沒有做任何事情。理想情況下,像中等實例一樣有優先於小規模,但在這種情況下,如果小併發,則任務應該轉到介質上。看起來這個小實例的咬比它可以咀嚼的更多。就像在將任務分配給它自己的時候,它現在不能開始。

有沒有辦法讓工作人員只接受當時可以開始的任務?

屏幕截圖:http://dl.dropbox.com/u/361747/task-state.png。以domU開頭的工作人員是小型的,以ip開頭的工作人員是中等的。

回答