From dc5bd2e71e808621ccaf1964cb00c618f31822da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20M=C3=A9tais?= Date: Wed, 10 Mar 2021 00:54:50 +0000 Subject: [PATCH] Add last test launch time in the new /api/runs route --- lib/server/controllers/apiController.js | 5 ++++- lib/server/datastores/runsQueue.js | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/server/controllers/apiController.js b/lib/server/controllers/apiController.js index a464cc6..090e6ec 100644 --- a/lib/server/controllers/apiController.js +++ b/lib/server/controllers/apiController.js @@ -227,7 +227,10 @@ var ApiController = function(app) { // Counts all pending runs app.get('/api/runs', function(req, res) { res.setHeader('Content-Type', 'application/json'); - res.send(JSON.stringify({pendingRuns: queue.length()}, null, 2)); + res.send(JSON.stringify({ + pendingRuns: queue.length(), + timeSinceLastTestStarted: queue.timeSinceLastTestStarted() + }, null, 2)); }); // Delete one run by id diff --git a/lib/server/datastores/runsQueue.js b/lib/server/datastores/runsQueue.js index e99f1fb..5164d67 100644 --- a/lib/server/datastores/runsQueue.js +++ b/lib/server/datastores/runsQueue.js @@ -6,7 +6,7 @@ function RunsQueue() { 'use strict'; var queue = []; - + var lastTestTimestamp = 0; this.push = function(runId) { var deferred = Q.defer(); @@ -21,6 +21,7 @@ function RunsQueue() { runId: runId }); + lastTestTimestamp = Date.now(); deferred.resolve(); } else { @@ -31,6 +32,7 @@ function RunsQueue() { deferred.notify(position); }, itIsTimeCallback: function() { + lastTestTimestamp = Date.now(); deferred.resolve(); } }); @@ -78,6 +80,11 @@ function RunsQueue() { this.length = function() { return queue.length; }; + + // Returns the number of seconds since the last test was launched + this.timeSinceLastTestStarted = function() { + return Math.round((Date.now() - lastTestTimestamp) / 1000); + }; } module.exports = RunsQueue; \ No newline at end of file