matador-finanzcheck
Version:
Front-end web interface for Bull Job Manager
52 lines (44 loc) • 1.93 kB
JavaScript
;
var redisModel = require('../models/redis'),
q = require('q');
module.exports = function (app) {
var requestComplete = function(req, res){
var dfd = q.defer();
console.log("Rendering completed page:", req.params);
var page = req.params.page || 0;
var limit = req.params.limit || 10;
var queue = req.params.queue || undefined;
var queue_raw = queue || "all";
if(queue === 'all') queue = undefined;
redisModel.getStatus("complete", queue, {start: page*limit, limit: limit*1}).done(function(completed){
redisModel.getJobsInList(completed).done(function(keys){
redisModel.formatKeys(keys).done(function(formattedKeys){
redisModel.getDataForKeys(formattedKeys).done(function(keyList) {
redisModel.getStatusCounts().done(function(countObject){
var model = {
keys: keyList,
counts: countObject,
complete: true,
type: "Complete",
back: '/complete/' + (page*1-1) + '/' + limit + '/' + queue_raw,
next: '/complete/' + (page*1+1) + '/' + limit + '/' + queue_raw
};
dfd.resolve(model);
});
});
});
});
});
return dfd.promise;
};
app.get('/complete/:page/:limit/:queue', function (req, res) {
requestComplete(req, res).done(function(model){
res.render('jobList', model);
});
});
app.get('/api/complete/:page/:limit/:queue', function (req, res) {
requestComplete(req, res).done(function(model){
res.json(model);
});
});
};