5
我具有以下設置:芹菜中的預取任務是否被確認?
- RabbitMQ的經紀人+ Django的
- 西芹CELERYD_PREFETCH_MULTIPLIER = 32(我有很多小的任務 的因而預取它們使得從性能的角度來看有很大的意義)
- CELERY_ACKS_LATE =假(任務不是冪等的)
我在docker容器中運行芹菜,所以當我重建docker芹菜時,工作人員並沒有正常關閉。這是可以的,如果沒有確認任務,因爲一旦工人再次進入新的碼頭集裝箱,經紀人將把他們發回,但在其他情況下,他們 - 將會丟失。
在花管理面板預取任務有狀態收到。
我仔細閱讀過官方文檔和related question,直覺上我覺得我的設置中的預取任務已被確認。是這樣嗎?
這聽起來很合理,但花中的預取任務被標記爲「已接收」 - 這是否意味着他們還沒有開始執行? –
我猜'收到'表示Rabbitmq方面的'Unacked'。其他工人不能預取他們,因爲他們不是'準備好'。但是,如果工人失去聯繫而不承認,他們會變成「準備好」。 – Raz
但是,如果我將重新啓動芹菜服務器(硬重啓),rabbitmq將如何知道這些任務能夠分配給其他節點? –