- public unshiftTask (task: Task<Data>): number {
- const tasksQueueSize = this.tasksQueue.unshift(task)
- if (this.hasBackPressure() && !this.onBackPressureStarted) {
- this.onBackPressureStarted = true
- this.emit('backPressure', { workerId: this.info.id })
- this.onBackPressureStarted = false
+ public dequeueTask (bucket?: number): Task<Data> | undefined {
+ const task = this.tasksQueue.dequeue(bucket)
+ if (
+ !this.setBackPressureFlag &&
+ !this.hasBackPressure() &&
+ this.info.backPressure
+ ) {
+ this.setBackPressureFlag = true
+ this.info.backPressure = false
+ this.setBackPressureFlag = false