diff options
author | Alexander Early <alexander.early@gmail.com> | 2016-03-22 15:26:46 -0700 |
---|---|---|
committer | Alexander Early <alexander.early@gmail.com> | 2016-03-22 15:26:46 -0700 |
commit | 6dd08eed9f15ed6b986a83c0f849394118f98e91 (patch) | |
tree | f7d825f4a5ae367400532b22fa0f18562711e0bc /lib/internal/queue.js | |
parent | 0e4d0672bd55d98e11adb93b49a7275510463d47 (diff) | |
download | async-6dd08eed9f15ed6b986a83c0f849394118f98e91.tar.gz |
convert priorityQueue tests to mocha
Diffstat (limited to 'lib/internal/queue.js')
-rw-r--r-- | lib/internal/queue.js | 15 |
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 () { |