获取任务创建者的名称,创建时间

时间:2019-08-28 13:30:49

标签: flask celery

我正在启动一些大任务,并使用celery和delay()函数在后台处理文件。设置任务后,我需要得到启动它的人,启动和更新任务的时间。我怎么才能得到它?如果我没记错的话,类型AsyncResult的对象就没有这样的字段(我是flask :()的新手。

我看过扔这个网站https://docs.celeryproject.org/en/latest/reference/celery.result.html,但没有看到我需要的字段。

task = some_func.delay(path_to_file)
...

return jsonify({
    'id': task.id,
    'status':task.status,
    'creator': # process who created this task,
    'time_creation': # time of creation of this task
})


@celery.task
some_func(path_to_file):
    # some work with file background

1 个答案:

答案 0 :(得分:0)

如果启用了task-sent event,则唯一可以可靠获取的信息是发送任务的主机。任务发送事件包含创建任务时的时间戳。如前所述,AsyncResult可用于跟踪状态更改-您要做的就是定期检查AsyncResult的.state属性。