def get_task(request):
"""
Returns a task
:Example: curl -X GET http://localhost:8082/foglamp/task/{task_id}?name=xxx&state=xxx
"""
try:
task_id = request.match_info.get('task_id', None)
if not task_id:
raise web.HTTPBadRequest(reason='Task ID is required.')
try:
assert uuid.UUID(task_id)
except ValueError as ex:
raise web.HTTPNotFound(reason="Invalid Task ID {}".format(task_id))
tsk = await server.Server.scheduler.get_task(task_id)
task = {
'id': str(tsk.task_id),
'process_name': tsk.process_name,
'state': Task.State(int(tsk.state)).name,
'start_time': str(tsk.start_time),
'end_time': str(tsk.end_time),
'exit_code': tsk.exit_code,
'reason': tsk.reason
}
return web.json_response(task)
except (ValueError, TaskNotFoundError) as ex:
raise web.HTTPNotFound(reason=str(ex))
评论列表
文章目录