我做了类似的东西
@app.task
def some_task()
logger.info(app.current_task.request.id)
some_func()
def some_func()
logger.info(app.current_task.request.id)
因此,我在Some_task中收到了普通ID,但是在Some_Func中等于无。我如何获得真正的任务ID?
您可以绑定任务并传递请求而不是依靠全局。
@app.task(bind=True)
def some_task(self)
logger.info(self.request.id)
some_func(self.request)
def some_func(celery_request=None)
# celery_request is optional assuming you're using it elsewhere.
if celery_request:
logger.info(celery_request.id)