芹菜:如何设置任务状态



我已经定义了这样的芹菜任务:

@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)

但是该方法似乎将类定义为任务,而不是函数。

如何手动设置定义为函数的芹菜任务的状态?

要使用您看到的使用抽象类的方法,您只需要将类作为base传递给装饰器:

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

bind=True将允许您使用self访问类的成员。

相关内容

  • 没有找到相关文章

最新更新