Celery:如何从自定义状态检索元数据?

时间:2013-12-12 16:26:11

标签: celery

自定义状态示例显示可以存储元数据: http://docs.celeryproject.org/en/latest/userguide/tasks.html#custom-states

我可以使用哪种API来检索与结果相关联的元数据?

2 个答案:

答案 0 :(得分:25)

文档没有明确说明如何从结果中获取元数据。使用AsyncResult.info。

>>> job = AsyncResult(job_id)
>>> print(job.info)
{'current': 2, 'total': 100}

答案 1 :(得分:14)

给出的例子如下:

@app.task(bind=True)
def upload_files(self, filenames):
    for i, file in enumerate(filenames):
        self.update_state(state='PROGRESS',
            meta={'current': i, 'total': len(filenames)})

设置任务时,请说

task = upload_files.delay(['happy.txt', 'sad.txt', ...])

您可以通过task.result

访问元信息

希望有所帮助