如何获取下一个celery task_id或如何从任务本身(Flask)获取任务ID或如何为任务设置自定义ID?

时间:2015-02-09 11:30:46

标签: python celery

我的烧瓶应用程序中有一些芹菜:

# Initialize Celery
celery = Celery("DockerApp", broker=config['CELERY_BROKER_URL'])
celery.conf.update(config)

我有任务:

@celery.task
def some_task(data):
    some_task.request.id #not working
    #my task code goes here

我需要在任务本身内执行该任务的ID,或者我需要将该ID设置为我自己。 有人可以帮忙吗?

当我打电话给任务时:

result = some_task.delay(data)
print result.id #this is correct

这给了我正确的结果。

2 个答案:

答案 0 :(得分:2)

您还可以使用以下方式访问任务中的任务请求:

@celery.task(bind=True)
def some_task(self, data):
    print self.request.id

答案 1 :(得分:1)

我得到了这个:

from celery import current_task #in task definition
print current_task.request.id

非常感谢。