问题
AsyncResult在完成任务后返回NoneType。
问题
如何完成芹菜任务状态?
描述
以下是获取芹菜任务状态的django视图代码。我使用此视图从我的客户端应用程序查询任务进度。它工作正常,直到任务完成。之后AsyncResult每次为我的任务调用它时都返回NoneType,并且我收到以下错误:
'NoneType'对象没有属性'get'
# Celery configuration
celery = Celery('tasks', backend='amqp', broker="amqp://")
# My django view for getting task state
def GetTaskStatus(request):
task = AsyncResult(request.body["taskid"], app=celery)
if task.state == 'PENDING':
data = {
'state': task.state,
'progress': task.info.get("progress", 0)
}
elif task.state != 'FAILURE':
data = {
'state': task.state,
'progress': task.info.get("progress", 0)
}
else:
data = {
'state': task.state,
'error': "something went wrong",
'progress': task.info.get("progress", 0)
}
response = GetHttpResponseJSON(ResponseCode.OK, data)
return response