Browse Source

Worked on statistics page to show # of paused jobs

Kristian Vos 4 years ago
parent
commit
f4fb49a853
2 changed files with 71 additions and 9 deletions
  1. 7 7
      backend/logic/actions/utils.js
  2. 64 2
      frontend/src/pages/Admin/tabs/NewStatistics.vue

+ 7 - 7
backend/logic/actions/utils.js

@@ -22,8 +22,9 @@ export default {
 								name: module.name,
 								status: module.status,
 								stage: module.stage,
-								jobsInQueue: module.jobQueue.length(),
-								jobsInProgress: module.jobQueue.running(),
+								jobsInQueue: module.jobQueue.lengthQueue(),
+								jobsInProgress: module.jobQueue.lengthRunning(),
+								jobsPaused: module.jobQueue.lengthPaused(),
 								concurrency: module.jobQueue.concurrency
 							};
 						})
@@ -59,8 +60,6 @@ export default {
 				}
 			],
 			async (err, module) => {
-				const jobsInQueue = module.jobQueue._tasks.heap.map(task => task.data);
-
 				// console.log(module.runningJobs);
 				if (err && err !== true) {
 					err = await utils.runJob("GET_ERROR", { error: err });
@@ -75,9 +74,10 @@ export default {
 					cb({
 						status: "success",
 						message: "Successfully got module info.",
-						runningJobs: module.runningJobs,
-						jobStatistics: module.jobStatistics,
-						jobsInQueue
+						// runningTasks: module.jobQueue.runningTasks,
+						// pausedTasks: module.jobQueue.pausedTasks,
+						// queuedTasks: module.jobQueue.queue,
+						jobStatistics: module.jobStatistics
 					});
 				}
 			}

+ 64 - 2
frontend/src/pages/Admin/tabs/NewStatistics.vue

@@ -18,6 +18,7 @@
 									<th>Stage</th>
 									<th>Jobs in queue</th>
 									<th>Jobs in progress</th>
+									<th>Jobs paused</th>
 									<th>Concurrency</th>
 								</tr>
 							</thead>
@@ -38,6 +39,7 @@
 									<td>{{ moduleItem.stage }}</td>
 									<td>{{ moduleItem.jobsInQueue }}</td>
 									<td>{{ moduleItem.jobsInProgress }}</td>
+									<td>{{ moduleItem.jobsPaused }}</td>
 									<td>{{ moduleItem.concurrency }}</td>
 								</tr>
 							</tbody>
@@ -52,7 +54,67 @@
 				class="card column is-10-desktop is-offset-1-desktop is-12-mobile"
 			>
 				<header class="card-header">
-					<p class="card-header-title">Average Logs</p>
+					<p class="card-header-title">Running tasks</p>
+				</header>
+				<div class="card-content">
+					<div class="content">
+						<table class="table">
+							<thead>
+								<tr>
+									<th>Name</th>
+									<th>Payload</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr
+									v-for="job in module.runningTasks"
+									:key="JSON.stringify(job)"
+								>
+									<td>{{ job.name }}</td>
+									<td>
+										{{ JSON.stringify(job.payload) }}
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+			</div>
+			<div
+				class="card column is-10-desktop is-offset-1-desktop is-12-mobile"
+			>
+				<header class="card-header">
+					<p class="card-header-title">Paused tasks</p>
+				</header>
+				<div class="card-content">
+					<div class="content">
+						<table class="table">
+							<thead>
+								<tr>
+									<th>Name</th>
+									<th>Payload</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr
+									v-for="job in module.pausedTasks"
+									:key="JSON.stringify(job)"
+								>
+									<td>{{ job.name }}</td>
+									<td>
+										{{ JSON.stringify(job.payload) }}
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+			</div>
+			<div
+				class="card column is-10-desktop is-offset-1-desktop is-12-mobile"
+			>
+				<header class="card-header">
+					<p class="card-header-title">Queued tasks</p>
 				</header>
 				<div class="card-content">
 					<div class="content">
@@ -65,7 +127,7 @@
 							</thead>
 							<tbody>
 								<tr
-									v-for="job in module.runningJobs"
+									v-for="job in module.queuedTasks"
 									:key="JSON.stringify(job)"
 								>
 									<td>{{ job.name }}</td>