2016-06-23 10 views
0

タスクのステータスを設定する方法:セロリ:私はこのようなセロリのタスクを定義している

@app.task() 
def my_task(): 
    # Do things... 

私は花を使用していますが、私はいくつかに応じて、タスクの最終的な状態を確認したいです私が作成したルール:

if condition_1: 
     return task_status_success 
    elif condition_2: 
     return task_status_fail 

どうすればいいですか?

私は何人かの人々は、このような何かを見てきました:

class AbstractTask(Task): 
    abstract = True 

    def __init__(self): 
     self.last_error_log = ErrorLog(logger) 
     Task.__init__(self) 

    def _task_error(self, message): 
     logger.error(message) 
     self.update_state(state=states.FAILURE) 
     raise Exception(message) 

しかし、その方法は仕事としてではなく、機能としてのクラスを定義しているようです。

関数として定義されたセロリタスクの状態を手動で設定する方法についてのヘルプはありますか?

@app.task(base=AbstractClass, bind=True) 
def my_task(self): 
    pass 

bind=Trueはあなたのクラスのメンバにアクセスするためにselfを使用できるようになります:

答えて

1

あなたはそれが抽象クラスを使用して見た方法を使用するには、あなたは自分のデコレータにbaseとしてクラスを渡す必要があります。

関連する問題