UNPKG

bull-ui-temp

Version:

Front-end web interface for Bull Job Manager with Bull 3.0.0 support

42 lines (38 loc) 1.54 kB
'use strict'; var redisModel = require('../models/redis'), _ = require('lodash'), q = require('q'), updateInfo = require('../lib/updateInfo.js'); module.exports = function (app) { var getOverviewData = function(req, res){ var dfd = q.defer(); redisModel.getAllKeys().done(function(keys){ redisModel.formatKeys(keys).done(function(keyList){ redisModel.getStatusCounts().done(function(countObject){ updateInfo.getMemoryUsage().done(function(memoryUsage){ if(countObject.stuck == 0) keyList = []; else keyList = _.filter(keyList, function(key){ return key.status === "stuck"; }); var usage = []; for(var time in memoryUsage.usage){ usage.push({time: time, memory: memoryUsage.usage[time]}); } memoryUsage.usage = usage; var model = { keys: keyList, counts: countObject, overview: true, memory: memoryUsage }; dfd.resolve(model); }); }); }); }); return dfd.promise; } app.get('/', function (req, res) { getOverviewData(req, res).done(function(model){ res.render('index', model); }); }); app.get('/api/', function (req, res) { getOverviewData(req, res).done(function(model){ res.json(model); }); }); };