Skip to content

Instantly share code, notes, and snippets.

@sridharraman
Created July 28, 2021 16:04
Show Gist options
  • Select an option

  • Save sridharraman/a4bb913e610bf8ca738031d216a45e2f to your computer and use it in GitHub Desktop.

Select an option

Save sridharraman/a4bb913e610bf8ca738031d216a45e2f to your computer and use it in GitHub Desktop.
bee-queue issue with job result
const Queue = require('bee-queue');
const options = {
// isWorker: false,
sendEvents: false,
redis: {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
password: process.env.DB_PASS,
},
}
const apiQueue = new Queue('api-queue', options);
apiQueue.on("succeeded", (job, result) => {
console.log('queue successfully finished a job!');
// console.log(job);
console.log(result);
});
apiQueue.process(3, (job, done) => {
console.log('processing ...');
return done(null, JSON.stringify({ parA: 'hello', parB: 'world!' }));
});
const getJobStatus = (jobId) => {
return apiQueue.getJob(jobId).then((job, result) => {
console.log(job);
console.log(result);
return {
progress: job.progress,
status: job.status,
result: job.result
};
});
}
module.exports = {
apiQueue, getJobStatus
}
require('dotenv').config();
const express = require('express');
const http = require('http');
// const apiQueue = require('./apiqueue.js');
const {
apiQueue, getJobStatus
} = require('./apiqueue');
// Inits
const app = express();
app.use(express.json());
app.use(express.urlencoded({
extended: false
}));
// Routes
app.get('/', (req, res) => {
// res.send("Server up");
apiQueue.createJob({ param: 'abc', int: 1 }).save()
.then((job) => {
console.log(`job.id: ${job.id}`)
res.json({
done: true,
jobId: job.id
})
})
.catch(() => res.json({
done: false
}));
});
app.get('/jobs/:id', (req, res) => {
console.log('getting job info ...');
let jobId = req.params.id;
if (!jobId) {
res.sendStatus(400);
return;
};
getJobStatus(jobId).then((result) => {
// console.log(result)
res.json({
progress: result.status,
status: result.status,
result: result.result
})
}).catch((err) => {
res.sendStatus(500);
});
});
const server = http.createServer(app);
const PORT = process.env.PORT || 5000;
server.listen(PORT, () => {
console.log(`Server up at:${PORT}`);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment