]> git.proxmox.com Git - proxmox-backup.git/commitdiff
src/api2/node/tasks.rs: fix task status api
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 9 Apr 2019 13:12:20 +0000 (15:12 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 9 Apr 2019 13:12:20 +0000 (15:12 +0200)
src/api2/node/tasks.rs

index be5d34f1360e4eb45186b534605a5cb8c80cb262..039383bd77f68524a5bfb88a88a733e3c4fc1c3e 100644 (file)
@@ -18,14 +18,23 @@ fn get_task_status(
 
     let upid = extract_upid(&param)?;
 
-    let result = if crate::server::worker_is_active(&upid) {
-        json!({
-            "status": "running",
-        })
+    let mut result = json!({
+        "upid": param["upid"],
+        "node": upid.node,
+        "pid": upid.pid,
+        "pstart": upid.pstart,
+        "starttime": upid.starttime,
+        "type": upid.worker_type,
+        "id": upid.worker_id,
+        "user": upid.username,
+    });
+
+    if crate::server::worker_is_active(&upid) {
+        result["status"] = Value::from("running");
     } else {
-         json!({
-            "status": "stopped",
-        })
+        let exitstatus = crate::server::upid_read_status(&upid).unwrap_or(String::from("unknown"));
+        result["status"] = Value::from("stopped");
+        result["exitstatus"] = Value::from(exitstatus);
     };
 
     Ok(result)