webshot-factory
Version:
screenshots at scale based on headless chrome
32 lines • 757 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const eventemitter3_1 = require("eventemitter3");
class JobQueue extends eventemitter3_1.EventEmitter {
constructor() {
super();
this.jobs = [];
this.totalProcessed = 0;
}
get length() {
return this.jobs.length;
}
enqueue(job) {
this.jobs.push(job);
this.emit('process');
}
dequeue() {
++this.totalProcessed;
return this.jobs.shift();
}
hasJobs() {
return this.jobs.length > 0;
}
getStatus() {
return {
jobs: this.jobs,
total: this.totalProcessed
};
}
}
exports.JobQueue = JobQueue;
//# sourceMappingURL=job-queue.js.map