diff options
author | Hubert Argasinski <argasinski.hubert@gmail.com> | 2017-06-10 23:14:13 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-10 23:14:13 -0400 |
commit | 0364ff3ac9727b69aefaab25999a491c8fa34fcd (patch) | |
tree | e6fe787c2d90e940ab64057ba0671ad1e05edb8a /lib | |
parent | ec9dab73153028e4abdd0216f55496b8bb6f4054 (diff) | |
download | async-0364ff3ac9727b69aefaab25999a491c8fa34fcd.tar.gz |
ensure q.workersList() contains items being processed [fixes #1428] (#1429)
* ensure q.workersList() contains items being processed [fixes #1428]
* remove newline
* improve q.workersList() test
Diffstat (limited to 'lib')
-rw-r--r-- | lib/internal/queue.js | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/internal/queue.js b/lib/internal/queue.js index e357447..5e8d4d7 100644 --- a/lib/internal/queue.js +++ b/lib/internal/queue.js @@ -55,9 +55,10 @@ export default function queue(worker, concurrency, payload) { for (var i = 0, l = tasks.length; i < l; i++) { var task = tasks[i]; + var index = indexOf(workersList, task, 0); if (index >= 0) { - workersList.splice(index) + workersList.splice(index, 1); } task.callback.apply(task, arguments); @@ -118,11 +119,11 @@ export default function queue(worker, concurrency, payload) { for (var i = 0; i < l; i++) { var node = q._tasks.shift(); tasks.push(node); + workersList.push(node); data.push(node.data); } numRunning += 1; - workersList.push(tasks[0]); if (q._tasks.length === 0) { q.empty(); |