我正在启动一些大任务,并使用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
答案 0 :(得分:0)
如果启用了task-sent event,则唯一可以可靠获取的信息是发送任务的主机。任务发送事件包含创建任务时的时间戳。如前所述,AsyncResult可用于跟踪状态更改-您要做的就是定期检查AsyncResult的.state
属性。