2017-07-09 11 views
1

条件が満たされない場合、明示的にタスクを失敗させたいと思います。例:明示的にセロリのタスクを失敗します

@app.task(bind=True, name="task.my_task", max_retries=2) 
def my_task(self, filename): 
    result = get_result(filename) 
    if result is None: 
     self.update_state(task_id=self.request.id, state=states.FAILURE, meta="result is None") 
     raise Ignore() 
    return result 

ログは、しかし、これは動作しません

を "タスクtask.my_task [855c1cbc-e894-409f-af29-d70a35d86e34]は無視" と言います。私がtask.stateを見ると、それは保留状態です。花はmy_task state == STARTEDと言います(そこにはまってしまいます)。

何か不足していますか?セロリの仕事はどうやって失敗しますか?

答えて

0

だけlet_it_fail

@app.task(bind=True, name="task.my_task", max_retries=2) 
def my_task(self, filename): 
    result = get_result(filename) 
    if result is None: 
     self.update_state(task_id=self.request.id, state=states.FAILURE, meta="result is None") 
     raise let_it_fail 
    return result 
を言う、タスクを失敗します
関連する問題