From 99fdec464802e5d720fe08ead06b63368b115baf Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 27 Feb 2017 21:56:55 +0100 Subject: Fix request schedulers stats --- server/controllers/api/requests.js | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'server/controllers/api') diff --git a/server/controllers/api/requests.js b/server/controllers/api/requests.js index 3e0d246d1..be352113e 100644 --- a/server/controllers/api/requests.js +++ b/server/controllers/api/requests.js @@ -1,9 +1,10 @@ 'use strict' const express = require('express') +const parallel = require('async/parallel') const constants = require('../../initializers/constants') -const db = require('../../initializers/database') +const friends = require('../../lib/friends') const middlewares = require('../../middlewares') const admin = middlewares.admin const oAuth = middlewares.oauth @@ -23,15 +24,33 @@ module.exports = router // --------------------------------------------------------------------------- function getStatsRequests (req, res, next) { - db.Request.countTotalRequests(function (err, totalRequests) { + parallel({ + requestScheduler: buildRequestSchedulerFunction(friends.getRequestScheduler()), + requestVideoQaduScheduler: buildRequestSchedulerFunction(friends.getRequestVideoQaduScheduler()), + requestVideoEventScheduler: buildRequestSchedulerFunction(friends.getRequestVideoEventScheduler()) + }, function (err, result) { if (err) return next(err) - return res.json({ - totalRequests: totalRequests, - requestsLimitPods: constants.REQUESTS_LIMIT_PODS, - requestsLimitPerPod: constants.REQUESTS_LIMIT_PER_POD, - remainingMilliSeconds: db.Request.remainingMilliSeconds(), - milliSecondsInterval: constants.REQUESTS_INTERVAL - }) + return res.json(result) }) } + +// --------------------------------------------------------------------------- + +function buildRequestSchedulerFunction (requestScheduler) { + return function (callback) { + requestScheduler.remainingRequestsCount(function (err, count) { + if (err) return callback(err) + + const result = { + totalRequests: count, + requestsLimitPods: requestScheduler.limitPods, + requestsLimitPerPod: requestScheduler.limitPerPod, + remainingMilliSeconds: requestScheduler.remainingMilliSeconds(), + milliSecondsInterval: requestScheduler.requestInterval + } + + return callback(null, result) + }) + } +} -- cgit v1.2.3