Add route to request a batch of jobs

This commit is contained in:
2023-01-10 23:01:42 +01:00
parent fa2cf2ebfe
commit 70cf75b94d

View File

@@ -49,6 +49,20 @@ app.post("/jobs", (req, res) => {
console.log(`Queued Job ${jobId}`); console.log(`Queued Job ${jobId}`);
res.json({ 'jobId': jobId }); res.json({ 'jobId': jobId });
}); });
app.get("/batch", async (req, res) => {
let queued = Object.values(jobs['queued']);
const batchSize = req.query.size || Math.min(queued.length, 10);
let assignedJobs = []
for (let index = 0; index < batchSize; index++) {
let job = queued[index]
assignedJobs.push(job);
jobs['waiting'][job['jobId']] = job;
delete jobs['queued'][job['jobId']];
console.log(`Handed out Job ${job['jobId']}`);
}
res.json({ 'count': assignedJobs.length, 'jobs': assignedJobs });
});
app.listen(PORT, () => { app.listen(PORT, () => {
console.log("Job Server running") console.log("Job Server running")
}) })