]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/controllers/task.py
1 # -*- coding: utf-8 -*-
2 from __future__
import absolute_import
4 from ..services
import progress
5 from ..tools
import TaskManager
6 from . import APIDoc
, APIRouter
, EndpointDoc
, RESTController
9 "executing_tasks": (str, "ongoing executing tasks"),
11 "name": (str, "finished tasks name"),
15 "begin_time": (str, "Task begin time"),
16 "end_time": (str, "Task end time"),
17 "duration": (int, ""),
18 "progress": (int, "Progress of tasks"),
19 "success": (bool, ""),
20 "ret_value": (bool, ""),
21 "exception": (bool, "")
27 @APIDoc("Task Management API", "Task")
28 class Task(RESTController
):
29 @EndpointDoc("Display Tasks",
31 'name': (str, 'Task Name'),
33 responses
={200: TASK_SCHEMA
})
34 def list(self
, name
=None):
35 executing_t
, finished_t
= TaskManager
.list_serializable(name
)
37 e
, f
= progress
.get_progress_tasks()
41 executing_t
.sort(key
=lambda t
: t
['begin_time'], reverse
=True)
42 finished_t
.sort(key
=lambda t
: t
['end_time'], reverse
=True)
45 'executing_tasks': executing_t
,
46 'finished_tasks': finished_t