async-rails 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/async-rails/version.rb +1 -1
- data/vendor/assets/javascripts/async.js +22 -18
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 611ea70e3c32694c377a1f90f13b9715bab53a96
|
4
|
+
data.tar.gz: ecb3f512b8f84f69796f800805748f2859dbaff5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b94278afeadb2472c24051d6d857cb7e2b89fe24d12fd5cb752ac2eb5e59d9b2761a09811a201524298a4553afcb9f6dfe67cfb301246997a519fb7b39d031ea
|
7
|
+
data.tar.gz: 8b007d129bdfa121d90c9b95b362c47610760ed87ecc9e60bb1b6a33d9949a88d207ab6f2a1f6c7c541ffe1e3c6baebe8d578a398619f8a5eadc34247bcc4a99
|
data/lib/async-rails/version.rb
CHANGED
@@ -510,7 +510,7 @@
|
|
510
510
|
};
|
511
511
|
|
512
512
|
async.auto = function (tasks, concurrency, callback) {
|
513
|
-
if (
|
513
|
+
if (typeof arguments[1] === 'function') {
|
514
514
|
// concurrency is optional, shift the args.
|
515
515
|
callback = concurrency;
|
516
516
|
concurrency = null;
|
@@ -528,6 +528,8 @@
|
|
528
528
|
var results = {};
|
529
529
|
var runningTasks = 0;
|
530
530
|
|
531
|
+
var hasError = false;
|
532
|
+
|
531
533
|
var listeners = [];
|
532
534
|
function addListener(fn) {
|
533
535
|
listeners.unshift(fn);
|
@@ -550,6 +552,7 @@
|
|
550
552
|
});
|
551
553
|
|
552
554
|
_arrayEach(keys, function (k) {
|
555
|
+
if (hasError) return;
|
553
556
|
var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]];
|
554
557
|
var taskCallback = _restParam(function(err, args) {
|
555
558
|
runningTasks--;
|
@@ -562,6 +565,8 @@
|
|
562
565
|
safeResults[rkey] = val;
|
563
566
|
});
|
564
567
|
safeResults[k] = args;
|
568
|
+
hasError = true;
|
569
|
+
|
565
570
|
callback(err, safeResults);
|
566
571
|
}
|
567
572
|
else {
|
@@ -781,7 +786,7 @@
|
|
781
786
|
} else if (test.apply(this, args)) {
|
782
787
|
iterator(next);
|
783
788
|
} else {
|
784
|
-
callback(null);
|
789
|
+
callback.apply(null, [null].concat(args));
|
785
790
|
}
|
786
791
|
});
|
787
792
|
iterator(next);
|
@@ -929,24 +934,23 @@
|
|
929
934
|
_insert(q, data, true, callback);
|
930
935
|
},
|
931
936
|
process: function () {
|
932
|
-
|
933
|
-
while(workers < q.concurrency && q.tasks.length){
|
934
|
-
var tasks = q.payload ?
|
935
|
-
q.tasks.splice(0, q.payload) :
|
936
|
-
q.tasks.splice(0, q.tasks.length);
|
937
|
-
|
938
|
-
var data = _map(tasks, function (task) {
|
939
|
-
return task.data;
|
940
|
-
});
|
937
|
+
while(!q.paused && workers < q.concurrency && q.tasks.length){
|
941
938
|
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
939
|
+
var tasks = q.payload ?
|
940
|
+
q.tasks.splice(0, q.payload) :
|
941
|
+
q.tasks.splice(0, q.tasks.length);
|
942
|
+
|
943
|
+
var data = _map(tasks, function (task) {
|
944
|
+
return task.data;
|
945
|
+
});
|
946
|
+
|
947
|
+
if (q.tasks.length === 0) {
|
948
|
+
q.empty();
|
949
949
|
}
|
950
|
+
workers += 1;
|
951
|
+
workersList.push(tasks[0]);
|
952
|
+
var cb = only_once(_next(q, tasks));
|
953
|
+
worker(data, cb);
|
950
954
|
}
|
951
955
|
},
|
952
956
|
length: function () {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: async-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Chen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|