2012-08-10 116 views
8

我有一個任務:芹菜工人不重試任務()

@celery.task(name='request_task',default_retry_delay=2,acks_late=True) 
    def request_task(data): 
     try: 
      if some_condition: 
       request_task.retry() 
     except Exception as e: 
      request_task.retry() 

我用芹菜MongoDB的經紀人和MongoDB結果後端啓用。

當任務的retry()方法被調用時,無論是從條件語句還是在捕獲異常之後,任務都不會被重試。

在工作者的終端

我得到消息是這樣的:

[2012-08-10 19:21:54909:INFO/MainProcess]任務REQUEST_TASK [badb3131-8964-41b5-90a7-245a8131e68d]重試:任務可以重試

什麼可能是錯的?

更新:最後,我沒有解決這個問題,並且必須在任務內使用while循環,所以我的任務永遠不會被重試。

+0

您正在使用哪種芹菜版本? – 2014-01-03 09:05:29

+0

@MauroRocco我問芹菜3.0.4問題時問。我有一些功能在3.0.4和3.0.5版本中使用bug,但後來的版本工作得很好。 – user1039098 2014-01-04 11:07:23

+0

很高興聽到這個消息。如果你能回答自己的問題,並解釋更好的解釋。 – 2014-01-05 13:21:28

回答