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