UNPKG

bull-arena

Version:

An interactive UI dashboard for Bee Queue

36 lines (28 loc) 902 B
const _ = require('lodash'); const util = require('util'); async function handler(req, res) { const { queueName, queueHost, id } = req.params; const { json } = req.query; const {Queues} = req.app.locals; const queue = await Queues.get(queueName, queueHost); if (!queue) return res.status(404).render('dashboard/templates/queueNotFound', {queueName, queueHost}); const job = await queue.getJob(id); if (!job) return res.status(404).render('dashboard/templates/jobNotFound', {id, queueName, queueHost}); if (json === 'true') { delete job.queue; // avoid circular references parsing error return res.json(job); } let jobState; if (queue.IS_BEE) { jobState = job.status; } else { jobState = await job.getState(); } return res.render('dashboard/templates/jobDetails', { queueName, queueHost, jobState, job }); } module.exports = handler;