Skip to content

Commit b0bc571

Browse files
pkarimovpaulk-msft
andauthored
priorityQueue: Prevent same tick setImmediate (#1727)
Co-authored-by: Paul Karimov <[email protected]>
1 parent aff1716 commit b0bc571

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lib/priorityQueue.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import Heap from './internal/Heap';
2828
export default function(worker, concurrency) {
2929
// Start with a normal queue
3030
var q = queue(worker, concurrency);
31+
var processingScheduled = false;
3132

3233
q._tasks = new Heap();
3334

@@ -55,7 +56,13 @@ export default function(worker, concurrency) {
5556
q._tasks.push(item);
5657
}
5758

58-
setImmediate(q.process);
59+
if (!processingScheduled) {
60+
processingScheduled = true;
61+
setImmediate(() => {
62+
processingScheduled = false;
63+
q.process();
64+
});
65+
}
5966
};
6067

6168
// Remove unshift function

0 commit comments

Comments
 (0)