Add route to request a batch of jobs
This commit is contained in:
14
index.js
14
index.js
@@ -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")
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user