summaryrefslogtreecommitdiff
path: root/lib/internal/queue.js
diff options
context:
space:
mode:
authorAlexander Early <alexander.early@gmail.com>2016-03-22 15:26:46 -0700
committerAlexander Early <alexander.early@gmail.com>2016-03-22 15:26:46 -0700
commit6dd08eed9f15ed6b986a83c0f849394118f98e91 (patch)
treef7d825f4a5ae367400532b22fa0f18562711e0bc /lib/internal/queue.js
parent0e4d0672bd55d98e11adb93b49a7275510463d47 (diff)
downloadasync-6dd08eed9f15ed6b986a83c0f849394118f98e91.tar.gz
convert priorityQueue tests to mocha
Diffstat (limited to 'lib/internal/queue.js')
-rw-r--r--lib/internal/queue.js15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/internal/queue.js b/lib/internal/queue.js
index 3e7eb1e..9521091 100644
--- a/lib/internal/queue.js
+++ b/lib/internal/queue.js
@@ -42,12 +42,6 @@ export default function queue(worker, concurrency, payload) {
q.tasks.push(item);
}
- if (q.tasks.length === q.concurrency) {
- q.saturated();
- }
- if (q.tasks.length <= (q.concurrency - q.buffer) ) {
- q.unsaturated();
- }
});
setImmediate(q.process);
}
@@ -111,8 +105,17 @@ export default function queue(worker, concurrency, payload) {
}
workers += 1;
workersList.push(tasks[0]);
+
+ if (workers === q.concurrency) {
+ q.saturated();
+ }
+ if (workers <= (q.concurrency - q.buffer) ) {
+ q.unsaturated();
+ }
+
var cb = onlyOnce(_next(q, tasks));
worker(data, cb);
+
}
},
length: function () {