2015-10-08 30 views
0

我有,芹菜隊列,我想以編程方式拉基於某些觸發隊列中的下一個項目等如何以編程方式從一個Celery隊列中拉出一個項目?

如果我有一個任務定義爲

@task 
def my_task(): 
    do_stuff() 

,然後將在項目隊列通過

my_task.apply_async() 

芹菜將盡快地通過隊列中的項目。但想什麼,我能夠做的是一樣的東西:

my_task.process_next() 

有什麼辦法芹菜時,從隊列拉東西來控制?

+0

Python模塊名稱很搞笑。 – marsh

+0

你想找到如何從隊列中刪除任務嗎? – grrrrrr

+0

@grrrrrr - 是的,我試圖刪除它,然後對其進行處理,但按照我的日程安排而不是自動的,快速即可獲得的時間表。 – Troy

回答

1

芹菜非常合理地認爲,一旦有什麼東西在你想要儘快處理的隊列上。 there is the countdown argument但我想這不是你想要的。

你可以嘗試重寫Task Class並把一些邏輯在__call__方法來檢查,如果你真的要處理的任務,然後如果事實證明它通過你的日程安排還沒有準備好處理可能安排它重試。

+0

謝謝@scytale。倒計時arg並不是我正在尋找的東西,但它可能有助於讓我至少有一部分途徑。我不知道那一個。 – Troy

相關問題