From e636eb88101a51399057c86477af6677f5614d48 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Sun, 25 Jun 2017 17:19:46 +0200 Subject: Requests -> RequestSchedulers --- server/controllers/api/index.ts | 4 +- server/controllers/api/request-schedulers.ts | 59 ++++++++++++++++++++++++++++ server/controllers/api/requests.ts | 59 ---------------------------- 3 files changed, 61 insertions(+), 61 deletions(-) create mode 100644 server/controllers/api/request-schedulers.ts delete mode 100644 server/controllers/api/requests.ts (limited to 'server/controllers/api') diff --git a/server/controllers/api/index.ts b/server/controllers/api/index.ts index ac3972ac6..3abe9bcf8 100644 --- a/server/controllers/api/index.ts +++ b/server/controllers/api/index.ts @@ -6,7 +6,7 @@ import { clientsRouter } from './clients' import { configRouter } from './config' import { podsRouter } from './pods' import { remoteRouter } from './remote' -import { requestsRouter } from './requests' +import { requestSchedulerRouter } from './request-schedulers' import { usersRouter } from './users' import { videosRouter } from './videos' @@ -16,7 +16,7 @@ apiRouter.use('/clients', clientsRouter) apiRouter.use('/config', configRouter) apiRouter.use('/pods', podsRouter) apiRouter.use('/remote', remoteRouter) -apiRouter.use('/requests', requestsRouter) +apiRouter.use('/request-schedulers', requestSchedulerRouter) apiRouter.use('/users', usersRouter) apiRouter.use('/videos', videosRouter) apiRouter.use('/ping', pong) diff --git a/server/controllers/api/request-schedulers.ts b/server/controllers/api/request-schedulers.ts new file mode 100644 index 000000000..8dd849007 --- /dev/null +++ b/server/controllers/api/request-schedulers.ts @@ -0,0 +1,59 @@ +import * as express from 'express' +import { parallel } from 'async' + +import { + AbstractRequestScheduler, + getRequestScheduler, + getRequestVideoQaduScheduler, + getRequestVideoEventScheduler +} from '../../lib' +import { authenticate, ensureIsAdmin } from '../../middlewares' +import { RequestSchedulerStatsAttributes } from '../../../shared' + +const requestSchedulerRouter = express.Router() + +requestSchedulerRouter.get('/stats', + authenticate, + ensureIsAdmin, + getRequestSchedulersStats +) + +// --------------------------------------------------------------------------- + +export { + requestSchedulerRouter +} + +// --------------------------------------------------------------------------- + +function getRequestSchedulersStats (req: express.Request, res: express.Response, next: express.NextFunction) { + parallel({ + requestScheduler: buildRequestSchedulerStats(getRequestScheduler()), + requestVideoQaduScheduler: buildRequestSchedulerStats(getRequestVideoQaduScheduler()), + requestVideoEventScheduler: buildRequestSchedulerStats(getRequestVideoEventScheduler()) + }, function (err, result) { + if (err) return next(err) + + return res.json(result) + }) +} + +// --------------------------------------------------------------------------- + +function buildRequestSchedulerStats (requestScheduler: AbstractRequestScheduler) { + return function (callback) { + requestScheduler.remainingRequestsCount(function (err, count) { + if (err) return callback(err) + + const result: RequestSchedulerStatsAttributes = { + totalRequests: count, + requestsLimitPods: requestScheduler.limitPods, + requestsLimitPerPod: requestScheduler.limitPerPod, + remainingMilliSeconds: requestScheduler.remainingMilliSeconds(), + milliSecondsInterval: requestScheduler.requestInterval + } + + return callback(null, result) + }) + } +} diff --git a/server/controllers/api/requests.ts b/server/controllers/api/requests.ts deleted file mode 100644 index 5718b59b7..000000000 --- a/server/controllers/api/requests.ts +++ /dev/null @@ -1,59 +0,0 @@ -import * as express from 'express' -import { parallel } from 'async' - -import { - AbstractRequestScheduler, - getRequestScheduler, - getRequestVideoQaduScheduler, - getRequestVideoEventScheduler -} from '../../lib' -import { authenticate, ensureIsAdmin } from '../../middlewares' -import { RequestSchedulerAttributes } from '../../../shared' - -const requestsRouter = express.Router() - -requestsRouter.get('/stats', - authenticate, - ensureIsAdmin, - getStatsRequests -) - -// --------------------------------------------------------------------------- - -export { - requestsRouter -} - -// --------------------------------------------------------------------------- - -function getStatsRequests (req: express.Request, res: express.Response, next: express.NextFunction) { - parallel({ - requestScheduler: buildRequestSchedulerFunction(getRequestScheduler()), - requestVideoQaduScheduler: buildRequestSchedulerFunction(getRequestVideoQaduScheduler()), - requestVideoEventScheduler: buildRequestSchedulerFunction(getRequestVideoEventScheduler()) - }, function (err, result) { - if (err) return next(err) - - return res.json(result) - }) -} - -// --------------------------------------------------------------------------- - -function buildRequestSchedulerFunction (requestScheduler: AbstractRequestScheduler) { - return function (callback) { - requestScheduler.remainingRequestsCount(function (err, count) { - if (err) return callback(err) - - const result: RequestSchedulerAttributes = { - totalRequests: count, - requestsLimitPods: requestScheduler.limitPods, - requestsLimitPerPod: requestScheduler.limitPerPod, - remainingMilliSeconds: requestScheduler.remainingMilliSeconds(), - milliSecondsInterval: requestScheduler.requestInterval - } - - return callback(null, result) - }) - } -} -- cgit v1.2.3