在Django Celery中,如何判断任务是否异步执行

Boj*_*vic 2 python django celery

我如何从芹菜任务中判断,是否仅从apply方法调用了任务,而不是apply_async(或延迟).

Sim*_*ser 6

您可以查看任务中的is_eagercalled_directly属性self.request(文档目前在差异上不是很清楚):

@app.task(bind=True)
def task_with_context(self, *args, **kwargs):
    print self.request.is_eager, self.request.called_directly
Run Code Online (Sandbox Code Playgroud)