keuss 1.6.8 → 1.6.11
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.
- package/Pipeline/Queue.js +12 -2
- package/Queue.js +17 -7
- package/TODO +1 -0
- package/backends/ps-mongo.js +1 -0
- package/package.json +6 -6
- package/test/backends_bucket-at-least-once.js +13 -13
- package/test/backends_deadletter.js +10 -1
- package/test/backends_remove.js +58 -37
- package/test/backends_reserve-commit-rollback.js +32 -16
- package/.nyc_output/ad035de4-a3d3-451b-b2ad-402e8ed517b8.json +0 -1
- package/.nyc_output/c8683d6c-e7e6-496b-ab0d-1ff730837d08.json +0 -1
- package/.nyc_output/processinfo/ad035de4-a3d3-451b-b2ad-402e8ed517b8.json +0 -1
- package/.nyc_output/processinfo/c8683d6c-e7e6-496b-ab0d-1ff730837d08.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -79
- package/coverage/index.html +0 -162
- package/coverage/keuss/Pipeline/BaseLink.js.html +0 -636
- package/coverage/keuss/Pipeline/Builder.js.html +0 -615
- package/coverage/keuss/Pipeline/ChoiceLink.js.html +0 -294
- package/coverage/keuss/Pipeline/DirectLink.js.html +0 -231
- package/coverage/keuss/Pipeline/Pipeline.js.html +0 -258
- package/coverage/keuss/Pipeline/Queue.js.html +0 -939
- package/coverage/keuss/Pipeline/Sink.js.html +0 -147
- package/coverage/keuss/Pipeline/index.html +0 -175
- package/coverage/keuss/QFactory-MongoDB-defaults.js.html +0 -219
- package/coverage/keuss/QFactory.js.html +0 -459
- package/coverage/keuss/Queue.js.html +0 -2274
- package/coverage/keuss/Signal.js.html +0 -312
- package/coverage/keuss/Stats.js.html +0 -174
- package/coverage/keuss/backends/bucket-mongo-safe.js.html +0 -2952
- package/coverage/keuss/backends/bucket-mongo.js.html +0 -1167
- package/coverage/keuss/backends/index.html +0 -175
- package/coverage/keuss/backends/mongo.js.html +0 -897
- package/coverage/keuss/backends/pl-mongo.js.html +0 -723
- package/coverage/keuss/backends/ps-mongo.js.html +0 -1038
- package/coverage/keuss/backends/redis-list.js.html +0 -513
- package/coverage/keuss/backends/redis-oq.js.html +0 -543
- package/coverage/keuss/bench/all-mongo.js.html +0 -393
- package/coverage/keuss/bench/index.html +0 -149
- package/coverage/keuss/bench/multi-q.js.html +0 -324
- package/coverage/keuss/bench/redis-oq-consumer-producer.js.html +0 -225
- package/coverage/keuss/bench/redis-oq-consumer.js.html +0 -189
- package/coverage/keuss/bench/redis-oq-producer.js.html +0 -198
- package/coverage/keuss/docusaurus/.docusaurus/client-modules.js.html +0 -93
- package/coverage/keuss/docusaurus/.docusaurus/docusaurus.config.js.html +0 -402
- package/coverage/keuss/docusaurus/.docusaurus/index.html +0 -136
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/01a85c17.4e57aa0a.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/09d5ad39.3009117f.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/1.12cf3eb8.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/12559443.a244228c.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/17896441.5efb3558.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/1be78505.f9c04817.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/2.4e2dc02c.js.html +0 -72
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/3.d549a05d.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/36.db0e809a.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/37637b3c.28c0900b.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/3d8d21df.2228b429.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/45a5cd1f.951da354.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/52c38f7a.785707bc.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/57ffbe3d.04d3e53e.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/5f7c35e9.2fa77599.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/6299bd84.ec197a3e.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/6875c492.cdf3e939.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/6beec1d2.6873e708.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/7b786ad4.bbce08e6.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/8070e160.400a4e57.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/88c93c54.e868a433.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/8d3e6f9e.aadf6d32.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/9bc74468.516633c5.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/9beb87c2.71e3744d.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/a3732fac.b0f98dbf.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/a6aa9e1f.6ac55e6c.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/baf0d4a2.b50efd2d.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/c4f5d8e4.e9dfd999.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/ccc49370.1831890b.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/d4942345.7d23b349.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/e2244795.4ea3d168.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/e64fe266.308265e8.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/f78725cc.5f3e115d.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/fa8d8063.2312a332.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/index.html +0 -565
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/main.66f1008c.js.html +0 -72
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/runtime~main.7d73b048.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/keuss-gh-pages/styles.b5ee3016.js.html +0 -69
- package/coverage/keuss/docusaurus/.docusaurus/registry.js.html +0 -165
- package/coverage/keuss/docusaurus/.docusaurus/routes.js.html +0 -447
- package/coverage/keuss/docusaurus/build/01a85c17.4e57aa0a.js.html +0 -69
- package/coverage/keuss/docusaurus/build/09d5ad39.3009117f.js.html +0 -69
- package/coverage/keuss/docusaurus/build/1.12cf3eb8.js.html +0 -69
- package/coverage/keuss/docusaurus/build/12559443.a244228c.js.html +0 -69
- package/coverage/keuss/docusaurus/build/17896441.5efb3558.js.html +0 -69
- package/coverage/keuss/docusaurus/build/1be78505.f9c04817.js.html +0 -69
- package/coverage/keuss/docusaurus/build/2.4e2dc02c.js.html +0 -72
- package/coverage/keuss/docusaurus/build/3.d549a05d.js.html +0 -69
- package/coverage/keuss/docusaurus/build/36.db0e809a.js.html +0 -69
- package/coverage/keuss/docusaurus/build/37637b3c.28c0900b.js.html +0 -69
- package/coverage/keuss/docusaurus/build/3d8d21df.2228b429.js.html +0 -69
- package/coverage/keuss/docusaurus/build/45a5cd1f.951da354.js.html +0 -69
- package/coverage/keuss/docusaurus/build/52c38f7a.785707bc.js.html +0 -69
- package/coverage/keuss/docusaurus/build/57ffbe3d.04d3e53e.js.html +0 -69
- package/coverage/keuss/docusaurus/build/5f7c35e9.2fa77599.js.html +0 -69
- package/coverage/keuss/docusaurus/build/6299bd84.ec197a3e.js.html +0 -69
- package/coverage/keuss/docusaurus/build/6875c492.cdf3e939.js.html +0 -69
- package/coverage/keuss/docusaurus/build/6beec1d2.6873e708.js.html +0 -69
- package/coverage/keuss/docusaurus/build/7b786ad4.bbce08e6.js.html +0 -69
- package/coverage/keuss/docusaurus/build/8070e160.400a4e57.js.html +0 -69
- package/coverage/keuss/docusaurus/build/88c93c54.e868a433.js.html +0 -69
- package/coverage/keuss/docusaurus/build/8d3e6f9e.aadf6d32.js.html +0 -69
- package/coverage/keuss/docusaurus/build/9bc74468.516633c5.js.html +0 -69
- package/coverage/keuss/docusaurus/build/9beb87c2.71e3744d.js.html +0 -69
- package/coverage/keuss/docusaurus/build/a3732fac.b0f98dbf.js.html +0 -69
- package/coverage/keuss/docusaurus/build/a6aa9e1f.6ac55e6c.js.html +0 -69
- package/coverage/keuss/docusaurus/build/baf0d4a2.b50efd2d.js.html +0 -69
- package/coverage/keuss/docusaurus/build/c4f5d8e4.e9dfd999.js.html +0 -69
- package/coverage/keuss/docusaurus/build/ccc49370.1831890b.js.html +0 -69
- package/coverage/keuss/docusaurus/build/d4942345.7d23b349.js.html +0 -69
- package/coverage/keuss/docusaurus/build/e2244795.4ea3d168.js.html +0 -69
- package/coverage/keuss/docusaurus/build/e64fe266.308265e8.js.html +0 -69
- package/coverage/keuss/docusaurus/build/f78725cc.5f3e115d.js.html +0 -69
- package/coverage/keuss/docusaurus/build/fa8d8063.2312a332.js.html +0 -69
- package/coverage/keuss/docusaurus/build/index.html +0 -565
- package/coverage/keuss/docusaurus/build/main.66f1008c.js.html +0 -72
- package/coverage/keuss/docusaurus/build/runtime~main.7d73b048.js.html +0 -69
- package/coverage/keuss/docusaurus/build/styles.b5ee3016.js.html +0 -69
- package/coverage/keuss/docusaurus/docusaurus.config.js.html +0 -360
- package/coverage/keuss/docusaurus/index.html +0 -110
- package/coverage/keuss/docusaurus/sidebars.js.html +0 -96
- package/coverage/keuss/docusaurus/src/pages/index.html +0 -97
- package/coverage/keuss/docusaurus/src/pages/index.js.html +0 -450
- package/coverage/keuss/examples/pipelines/builder/index.html +0 -97
- package/coverage/keuss/examples/pipelines/builder/index.js.html +0 -450
- package/coverage/keuss/examples/pipelines/simplest/index.html +0 -97
- package/coverage/keuss/examples/pipelines/simplest/index.js.html +0 -183
- package/coverage/keuss/examples/pipelines/simulation-fork/index.html +0 -97
- package/coverage/keuss/examples/pipelines/simulation-fork/index.js.html +0 -414
- package/coverage/keuss/examples/snippets/01-simplest-pop-push.js.html +0 -195
- package/coverage/keuss/examples/snippets/02-simplest-reserve-rollback-commit.js.html +0 -201
- package/coverage/keuss/examples/snippets/03-simplest-producer-consumer-loops.js.html +0 -300
- package/coverage/keuss/examples/snippets/04-bucket-mongo-safe-insert-reserve-commit.js.html +0 -303
- package/coverage/keuss/examples/snippets/05-insert-reserve-rollback-deadletter.js.html +0 -384
- package/coverage/keuss/examples/snippets/06-random-consumer-producer.js.html +0 -879
- package/coverage/keuss/examples/snippets/index.html +0 -188
- package/coverage/keuss/examples/snippets/redislabs-consumer-producer.js.html +0 -201
- package/coverage/keuss/examples/snippets/with-redis-stats-and-signaller-consumer-producer.js.html +0 -222
- package/coverage/keuss/examples/webhooks/app.js.html +0 -279
- package/coverage/keuss/examples/webhooks/consumer.js.html +0 -363
- package/coverage/keuss/examples/webhooks/index.html +0 -123
- package/coverage/keuss/examples/webhooks/index.js.html +0 -234
- package/coverage/keuss/index.html +0 -149
- package/coverage/keuss/playground/index.html +0 -136
- package/coverage/keuss/playground/pl-rollback.js.html +0 -234
- package/coverage/keuss/playground/pl1.js.html +0 -291
- package/coverage/keuss/playground/q1.js.html +0 -168
- package/coverage/keuss/playground/simple-pl.js.html +0 -195
- package/coverage/keuss/signal/index.html +0 -123
- package/coverage/keuss/signal/local.js.html +0 -306
- package/coverage/keuss/signal/mongo-capped.js.html +0 -378
- package/coverage/keuss/signal/redis-pubsub.js.html +0 -399
- package/coverage/keuss/stats/index.html +0 -123
- package/coverage/keuss/stats/mem.js.html +0 -519
- package/coverage/keuss/stats/mongo.js.html +0 -930
- package/coverage/keuss/stats/redis.js.html +0 -894
- package/coverage/keuss/utils/RedisConn.js.html +0 -150
- package/coverage/keuss/utils/RedisOrderedQueue.js.html +0 -864
- package/coverage/keuss/utils/index.html +0 -110
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -170
- package/docusaurus/README.md +0 -33
- package/docusaurus/babel.config.js +0 -3
- package/docusaurus/blog/2020-08-04-welcome.md +0 -11
- package/docusaurus/docs/about.md +0 -13
- package/docusaurus/docs/api/factory.md +0 -102
- package/docusaurus/docs/api/queue.md +0 -247
- package/docusaurus/docs/api/signal.md +0 -38
- package/docusaurus/docs/api/stats.md +0 -37
- package/docusaurus/docs/changelog.md +0 -46
- package/docusaurus/docs/concepts.md +0 -116
- package/docusaurus/docs/examples.md +0 -10
- package/docusaurus/docs/quickstart.md +0 -195
- package/docusaurus/docs/style-guide.md +0 -202
- package/docusaurus/docs/usage/buckets.md +0 -43
- package/docusaurus/docs/usage/no-signaller.md +0 -16
- package/docusaurus/docs/usage/pipelines/about.md +0 -128
- package/docusaurus/docs/usage/pipelines/building.md +0 -158
- package/docusaurus/docs/usage/pipelines/examples.md +0 -10
- package/docusaurus/docs/usage/pipelines/processors.md +0 -187
- package/docusaurus/docs/usage/putting-all-together.md +0 -153
- package/docusaurus/docs/usage/redis-conns.md +0 -70
- package/docusaurus/docs/usage/shutdown.md +0 -11
- package/docusaurus/docusaurus.config.js +0 -97
- package/docusaurus/package-lock.json +0 -10964
- package/docusaurus/package.json +0 -33
- package/docusaurus/sidebars.js +0 -44
- package/docusaurus/src/css/custom.css +0 -25
- package/docusaurus/src/pages/index.js +0 -127
- package/docusaurus/src/pages/styles.module.css +0 -37
- package/docusaurus/static/.nojekyll +0 -0
- package/docusaurus/static/img/favicon.ico +0 -0
- package/docusaurus/static/img/logo.svg +0 -1
- package/docusaurus/yarn.lock +0 -8864
package/Pipeline/Queue.js
CHANGED
|
@@ -167,6 +167,10 @@ class PipelinedMongoQueue extends Queue {
|
|
|
167
167
|
this._embed_update_for_payload (upd, opts.update);
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
+
if (opts.hdrs) {
|
|
171
|
+
_.each (opts.hdrs, (v, k) => upd.$set['hdrs.' + k] = v);
|
|
172
|
+
}
|
|
173
|
+
|
|
170
174
|
this._col.updateOne (q, upd, {}, (err, result) => {
|
|
171
175
|
if (err) return callback (err);
|
|
172
176
|
callback (null, result && (result.modifiedCount == 1));
|
|
@@ -274,9 +278,15 @@ class PipelinedMongoQueue extends Queue {
|
|
|
274
278
|
|
|
275
279
|
|
|
276
280
|
//////////////////////////////////////////////
|
|
277
|
-
//
|
|
281
|
+
// redefinition from Queue
|
|
278
282
|
_move_to_deadletter (obj, cb) {
|
|
279
|
-
|
|
283
|
+
const hdrs = {
|
|
284
|
+
'x-dl-from-queue': this.name (),
|
|
285
|
+
'x-dl-t': new Date().toISOString (),
|
|
286
|
+
'x-dl-tries': obj.tries
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
this.pl_step (obj._id, this._factory.deadletter_queue (), {hdrs}, (err, res) => {
|
|
280
290
|
if (err) return cb (err);
|
|
281
291
|
this._stats.incr ('get');
|
|
282
292
|
this._factory.deadletter_queue ()._stats.incr ('put');
|
package/Queue.js
CHANGED
|
@@ -46,6 +46,7 @@ class Queue {
|
|
|
46
46
|
this._stats.incr ('reserve', 0);
|
|
47
47
|
this._stats.incr ('commit', 0);
|
|
48
48
|
this._stats.incr ('rollback', 0);
|
|
49
|
+
this._stats.incr ('deadletter', 0);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
// if true, queue is being drained just before shutdown
|
|
@@ -432,14 +433,14 @@ class Queue {
|
|
|
432
433
|
let id = (obj._id ? obj._id : obj);
|
|
433
434
|
|
|
434
435
|
if (
|
|
435
|
-
(obj.tries) &&
|
|
436
|
-
(this._factory.deadletter_queue ()) &&
|
|
437
|
-
(this._factory.max_ko ()) &&
|
|
438
|
-
(obj.tries > this._factory.max_ko ())
|
|
436
|
+
(obj.tries) && // only if we got tries
|
|
437
|
+
(this._factory.deadletter_queue ()) && // AND the factory has a deadletter queue
|
|
438
|
+
(this._factory.max_ko ()) && // AND thee's a max ko attempts
|
|
439
|
+
(obj.tries > this._factory.max_ko ()) && // AND we got enough tries
|
|
440
|
+
(this.name () != '__deadletter__') // and this queue is not deadletter already
|
|
439
441
|
) {
|
|
440
442
|
debug ('%s: too many retries (%d), moving to deadletter', obj._id, obj.tries);
|
|
441
443
|
this._move_to_deadletter (obj, cb);
|
|
442
|
-
// TODO add from-what-queue to deadletter elements
|
|
443
444
|
}
|
|
444
445
|
else {
|
|
445
446
|
this.rollback (id, next_t, (err, res) => {
|
|
@@ -709,21 +710,30 @@ class Queue {
|
|
|
709
710
|
/////////////////////////////////////////////
|
|
710
711
|
_move_to_deadletter (obj, cb) {
|
|
711
712
|
// commit and move to deadletter
|
|
712
|
-
// ALSO NOT IN deadletter queue (to void loop)
|
|
713
713
|
// commit element in origin queue, push in deadletter afterwards
|
|
714
|
+
const opts = {
|
|
715
|
+
hdrs: _.clone (obj.hdrs || {})
|
|
716
|
+
};
|
|
717
|
+
|
|
718
|
+
// add some extra x-dl-* headers
|
|
719
|
+
opts.hdrs['x-dl-from-queue'] = this.name ();
|
|
720
|
+
opts.hdrs['x-dl-t'] = new Date().toISOString ();
|
|
721
|
+
opts.hdrs['x-dl-tries'] = obj.tries;
|
|
722
|
+
|
|
714
723
|
this.commit (obj._id, err => {
|
|
715
724
|
if (err) {
|
|
716
725
|
debug ('while committing %s prior to moving to deadletter: %j', obj._id, err);
|
|
717
726
|
return cb (err);
|
|
718
727
|
}
|
|
719
728
|
|
|
720
|
-
this._factory.deadletter_queue ().push (obj.payload, (err, res) => {
|
|
729
|
+
this._factory.deadletter_queue ().push (obj.payload, opts, (err, res) => {
|
|
721
730
|
if (err) {
|
|
722
731
|
debug ('while moving %s to deadletter: %j', obj._id, err);
|
|
723
732
|
return cb (err, 'deadletter');
|
|
724
733
|
}
|
|
725
734
|
else {
|
|
726
735
|
debug ('moved %s to deadletter with _id %s', obj._id, res);
|
|
736
|
+
this._stats.incr ('deadletter');
|
|
727
737
|
return cb (null, 'deadletter');
|
|
728
738
|
}
|
|
729
739
|
});
|
package/TODO
CHANGED
package/backends/ps-mongo.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "keuss",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.11",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"queue",
|
|
6
6
|
"persistent",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"license": "GPL-3.0",
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@nodebb/mubsub": "~1.7.1",
|
|
30
|
-
"async": "~3.2.
|
|
31
|
-
"async-lock": "~1.3.
|
|
32
|
-
"debug": "~4.3.
|
|
33
|
-
"ioredis": "~4.
|
|
30
|
+
"async": "~3.2.3",
|
|
31
|
+
"async-lock": "~1.3.1",
|
|
32
|
+
"debug": "~4.3.3",
|
|
33
|
+
"ioredis": "~4.28.5",
|
|
34
34
|
"lodash": "~4.17.21",
|
|
35
35
|
"mitt": "~3.0.0",
|
|
36
36
|
"mongodb": "~3.6.12",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"chance": "~1.1.8",
|
|
41
|
-
"mocha": "~9.1
|
|
41
|
+
"mocha": "~9.2.1",
|
|
42
42
|
"should": "~13.2.3"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
@@ -52,7 +52,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
52
52
|
function (cb) {q.totalSize (cb)},
|
|
53
53
|
function (cb) {q.next_t (cb)},
|
|
54
54
|
], function(err, results) {
|
|
55
|
-
results.should.eql ([{get: 0, put: 0, reserve: 0, commit: 0, rollback: 0}, 0, 0, null])
|
|
55
|
+
results.should.eql ([{get: 0, put: 0, reserve: 0, commit: 0, rollback: 0, deadletter: 0}, 0, 0, null])
|
|
56
56
|
done();
|
|
57
57
|
});
|
|
58
58
|
});
|
|
@@ -70,7 +70,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
70
70
|
cb();
|
|
71
71
|
})},
|
|
72
72
|
function (cb) {q.stats (function (err, res) {
|
|
73
|
-
res.should.eql ({get: 0, put: 2, reserve: 0, commit: 0, rollback: 0});
|
|
73
|
+
res.should.eql ({get: 0, put: 2, reserve: 0, commit: 0, rollback: 0, deadletter: 0});
|
|
74
74
|
cb();
|
|
75
75
|
})},
|
|
76
76
|
function (cb) {q.next_t (function (err, res) {
|
|
@@ -86,7 +86,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
86
86
|
cb();
|
|
87
87
|
})},
|
|
88
88
|
function (cb) {q.stats (function (err, res) {
|
|
89
|
-
res.should.eql ({get: 1, put: 2, reserve: 0, commit: 0, rollback: 0});
|
|
89
|
+
res.should.eql ({get: 1, put: 2, reserve: 0, commit: 0, rollback: 0, deadletter: 0});
|
|
90
90
|
cb();
|
|
91
91
|
})},
|
|
92
92
|
function (cb) {q.pop ('c2', function (err, ret) {
|
|
@@ -98,7 +98,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
98
98
|
cb();
|
|
99
99
|
})},
|
|
100
100
|
function (cb) {q.stats (function (err, res) {
|
|
101
|
-
res.should.eql ({get: 2, put: 2, reserve: 0, commit: 0, rollback: 0});
|
|
101
|
+
res.should.eql ({get: 2, put: 2, reserve: 0, commit: 0, rollback: 0, deadletter: 0});
|
|
102
102
|
cb();
|
|
103
103
|
})},
|
|
104
104
|
], function(err, results) {
|
|
@@ -139,7 +139,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
139
139
|
cb();
|
|
140
140
|
})},
|
|
141
141
|
function (cb) {q.stats (function (err, res) {
|
|
142
|
-
res.should.eql ({get: 2, put: 2, reserve: 0, commit: 0, rollback: 0});
|
|
142
|
+
res.should.eql ({get: 2, put: 2, reserve: 0, commit: 0, rollback: 0, deadletter: 0});
|
|
143
143
|
cb();
|
|
144
144
|
})},
|
|
145
145
|
], function(err, results) {
|
|
@@ -160,7 +160,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
160
160
|
(cb) => setTimeout (cb, 666),
|
|
161
161
|
|
|
162
162
|
(cb) => q.size ((err, size) => {size.should.equal (4); cb(); }),
|
|
163
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 4, reserve: 0, commit: 0, rollback: 0}); cb(); }),
|
|
163
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 4, reserve: 0, commit: 0, rollback: 0, deadletter: 0}); cb(); }),
|
|
164
164
|
|
|
165
165
|
(cb) => q.push ({elem:5, pl:'twetrwte'}, cb),
|
|
166
166
|
(cb) => q.push ({elem:6, pl:'twetrwte'}, cb),
|
|
@@ -168,7 +168,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
168
168
|
(cb) => setTimeout (cb, 666),
|
|
169
169
|
|
|
170
170
|
(cb) => q.size ((err, size) => {size.should.equal (7); cb(); }),
|
|
171
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 7, reserve: 0, commit: 0, rollback: 0}); cb(); }),
|
|
171
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 7, reserve: 0, commit: 0, rollback: 0, deadletter: 0}); cb(); }),
|
|
172
172
|
|
|
173
173
|
(cb) => q.next_t ((err, res) => {res.getTime().should.be.approximately(new Date().getTime(), 2000); cb(); }),
|
|
174
174
|
|
|
@@ -181,7 +181,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
181
181
|
(cb) => {q.pop ('c1', (err, ret) => {ret.payload.should.eql ({elem:7, pl:'twetrwte'}); cb (err); })},
|
|
182
182
|
|
|
183
183
|
(cb) => q.size ((err, size) => {size.should.equal (0); cb(); }),
|
|
184
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 7, put: 7, reserve: 0, commit: 0, rollback: 0}); cb(); }),
|
|
184
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 7, put: 7, reserve: 0, commit: 0, rollback: 0, deadletter: 0}); cb(); }),
|
|
185
185
|
], function(err, results) {
|
|
186
186
|
q.drain();
|
|
187
187
|
done();
|
|
@@ -211,7 +211,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
211
211
|
(cb) => q.size ((err, size) => {size.should.equal (0); cb(); }),
|
|
212
212
|
(cb) => q.totalSize ((err, size) => {size.should.equal (7); cb(); }),
|
|
213
213
|
(cb) => q.schedSize ((err, size) => {size.should.equal (7); cb(); }),
|
|
214
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 7, reserve: 0, commit: 0, rollback: 0}); cb(); }),
|
|
214
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 7, reserve: 0, commit: 0, rollback: 0, deadletter: 0}); cb(); }),
|
|
215
215
|
|
|
216
216
|
(cb) => {q.pop ('c1', (err, ret) => {ret.payload.should.eql ({elem:5, pl:'twetrwte'}); cb (err); })},
|
|
217
217
|
(cb) => {q.pop ('c1', (err, ret) => {ret.payload.should.eql ({elem:6, pl:'twetrwte'}); cb (err); })},
|
|
@@ -222,7 +222,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
222
222
|
(cb) => {q.pop ('c1', (err, ret) => {ret.payload.should.eql ({elem:4, pl:'twetrwte'}); cb (err); })},
|
|
223
223
|
|
|
224
224
|
(cb) => q.size ((err, size) => {size.should.equal (0); cb(); }),
|
|
225
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 7, put: 7, reserve: 0, commit: 0, rollback: 0}); cb(); }),
|
|
225
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 7, put: 7, reserve: 0, commit: 0, rollback: 0, deadletter: 0}); cb(); }),
|
|
226
226
|
], function(err, results) {
|
|
227
227
|
q.drain();
|
|
228
228
|
done();
|
|
@@ -239,13 +239,13 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
239
239
|
(cb) => setTimeout (cb, 700),
|
|
240
240
|
|
|
241
241
|
(cb) => q.size ((err, size) => {size.should.equal (2); cb(); }),
|
|
242
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 2, reserve: 0, commit: 0, rollback: 0}); cb(); }),
|
|
242
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 2, reserve: 0, commit: 0, rollback: 0, deadletter: 0}); cb(); }),
|
|
243
243
|
|
|
244
244
|
(cb) => q.push ({elem:3, pl:'twetrwte'}, cb),
|
|
245
245
|
(cb) => setTimeout (cb, 700),
|
|
246
246
|
|
|
247
247
|
(cb) => q.size ((err, size) => {size.should.equal (3); cb(); }),
|
|
248
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 3, reserve: 0, commit: 0, rollback: 0}); cb(); }),
|
|
248
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 0, put: 3, reserve: 0, commit: 0, rollback: 0, deadletter: 0}); cb(); }),
|
|
249
249
|
|
|
250
250
|
(cb) => q.next_t ((err, res) => {res.getTime().should.be.approximately(new Date().getTime() - 1400, 100); cb(); }),
|
|
251
251
|
|
|
@@ -283,7 +283,7 @@ describe ('bucket-at-least-once with ' + MQ_item.label + ' queue backend', funct
|
|
|
283
283
|
(cb) => {q.pop ('c1', (err, ret) => {ret.payload.should.eql ({elem:1, pl:'twetrwte'}); cb (err); })},
|
|
284
284
|
|
|
285
285
|
(cb) => q.size ((err, size) => {size.should.equal (0); cb(); }),
|
|
286
|
-
(cb) => q.stats ((err, res) => {res.should.eql ({get: 3, put: 3, reserve: 2, commit: 0, rollback: 2}); cb(); }),
|
|
286
|
+
(cb) => q.stats ((err, res) => {res.should.eql ({get: 3, put: 3, reserve: 2, commit: 0, rollback: 2, deadletter: 0}); cb(); }),
|
|
287
287
|
], function(err, results) {
|
|
288
288
|
q.drain();
|
|
289
289
|
done();
|
|
@@ -111,6 +111,8 @@ function release_mq_factory (q, factory, cb) {
|
|
|
111
111
|
pl: 'twetrwte'
|
|
112
112
|
};
|
|
113
113
|
|
|
114
|
+
const hdrs = {aaa: 'qw', bbb: '666'};
|
|
115
|
+
|
|
114
116
|
async.waterfall ([
|
|
115
117
|
cb => get_mq_factory (MQ, factory_opts, cb),
|
|
116
118
|
(factory, cb) => {
|
|
@@ -120,7 +122,7 @@ function release_mq_factory (q, factory, cb) {
|
|
|
120
122
|
|
|
121
123
|
async.race ([
|
|
122
124
|
cb => async.series([
|
|
123
|
-
cb => q.push (pl, cb),
|
|
125
|
+
cb => q.push (pl, {hdrs}, cb),
|
|
124
126
|
cb => pop (q, stage, cb),
|
|
125
127
|
cb => reject (q, stage, (err) => {tries++;cb()}),
|
|
126
128
|
cb => pop (q, stage, cb),
|
|
@@ -139,6 +141,13 @@ function release_mq_factory (q, factory, cb) {
|
|
|
139
141
|
}),
|
|
140
142
|
cb => factory.deadletter_queue().pop('c2', (err, res) => {
|
|
141
143
|
res.payload.should.eql (pl);
|
|
144
|
+
res.hdrs.should.match ({
|
|
145
|
+
aaa: "qw",
|
|
146
|
+
bbb: "666",
|
|
147
|
+
'x-dl-from-queue': "test_queue_deadletter",
|
|
148
|
+
'x-dl-t': /.+/,
|
|
149
|
+
'x-dl-tries': 4
|
|
150
|
+
});
|
|
142
151
|
tries.should.equal (5);
|
|
143
152
|
cb (err);
|
|
144
153
|
})
|
package/test/backends_remove.js
CHANGED
|
@@ -19,39 +19,6 @@ function stats (q, cb) {
|
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
function pop (q, stage, cb) {
|
|
23
|
-
q.pop('c1', { reserve: true }, (err, res) => {
|
|
24
|
-
stage.obj = res;
|
|
25
|
-
// console.log('reserved element %o', res);
|
|
26
|
-
cb(err);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function reject (q, stage, cb) {
|
|
31
|
-
var next_t = new Date().getTime() + 2000;
|
|
32
|
-
|
|
33
|
-
q.ko (stage.obj, next_t, (err, res) => {
|
|
34
|
-
if (err) {
|
|
35
|
-
// console.error ('error in rollback of %s: %j', stage.obj._id, err);
|
|
36
|
-
return cb (err);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// console.log('rolled back element %s: %o', stage.obj._id, res);
|
|
40
|
-
cb();
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function accept (q, stage, cb) {
|
|
45
|
-
q.ok (stage.obj, (err, res) => {
|
|
46
|
-
if (err) {
|
|
47
|
-
// console.error ('error in rollback of %s: %j', stage.obj._id, err);
|
|
48
|
-
return cb (err);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// console.log('commited element %s: %j', stage.obj._id, res);
|
|
52
|
-
cb();
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
22
|
|
|
56
23
|
function get_mq_factory (MQ, opts, cb) {
|
|
57
24
|
const common_opts = {
|
|
@@ -163,7 +130,7 @@ function release_mq_factory (q, factory, cb) {
|
|
|
163
130
|
ctx.id = res[0];
|
|
164
131
|
ctx.id.should.not.be.null();
|
|
165
132
|
res[2].should.eql ({
|
|
166
|
-
stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0 },
|
|
133
|
+
stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0, deadletter: 0 },
|
|
167
134
|
tsize: 1,
|
|
168
135
|
rsize: is_redis ? null : 0
|
|
169
136
|
})
|
|
@@ -181,7 +148,7 @@ function release_mq_factory (q, factory, cb) {
|
|
|
181
148
|
cb => setTimeout (cb, 1000),
|
|
182
149
|
], (err, res) => {
|
|
183
150
|
res[0].should.eql ({
|
|
184
|
-
stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0 },
|
|
151
|
+
stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0, deadletter: 0 },
|
|
185
152
|
tsize: 0,
|
|
186
153
|
rsize: is_redis ? null : 0
|
|
187
154
|
});
|
|
@@ -228,7 +195,7 @@ function release_mq_factory (q, factory, cb) {
|
|
|
228
195
|
cb => setTimeout (cb, 1000),
|
|
229
196
|
], (err, res) => {
|
|
230
197
|
res[0].should.eql ({
|
|
231
|
-
stats: { get: 0, put: 1, reserve: 1, commit: 0, rollback: 0 },
|
|
198
|
+
stats: { get: 0, put: 1, reserve: 1, commit: 0, rollback: 0, deadletter: 0 },
|
|
232
199
|
tsize: 1,
|
|
233
200
|
rsize: is_redis ? null : 1
|
|
234
201
|
});
|
|
@@ -282,7 +249,61 @@ function release_mq_factory (q, factory, cb) {
|
|
|
282
249
|
cb => setTimeout (cb, 1000),
|
|
283
250
|
], (err, res) => {
|
|
284
251
|
res[0].should.eql ({
|
|
285
|
-
stats: { get: 0, put: 1, reserve: 1, commit: 0, rollback: 1 },
|
|
252
|
+
stats: { get: 0, put: 1, reserve: 1, commit: 0, rollback: 1, deadletter: 0 },
|
|
253
|
+
tsize: 0,
|
|
254
|
+
rsize: is_redis ? null : 0
|
|
255
|
+
});
|
|
256
|
+
cb (err, q, factory);
|
|
257
|
+
}),
|
|
258
|
+
(q, factory, cb) => {
|
|
259
|
+
release_mq_factory (q, factory, cb);
|
|
260
|
+
}
|
|
261
|
+
], done);
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
it('does fail trying to delete an already-deleted element', done => {
|
|
266
|
+
const ctx = {};
|
|
267
|
+
async.waterfall ([
|
|
268
|
+
cb => get_mq_factory (MQ, {}, cb),
|
|
269
|
+
(factory, cb) => {
|
|
270
|
+
const q = factory.queue('test_queue_remove', {});
|
|
271
|
+
cb (null, q, factory);
|
|
272
|
+
},
|
|
273
|
+
(q, factory, cb) => async.series ([
|
|
274
|
+
cb => q.push ({a: 1, b: 'oo'}, cb),
|
|
275
|
+
cb => setTimeout (cb, 1000),
|
|
276
|
+
cb => stats (q, cb)
|
|
277
|
+
], (err, res) => {
|
|
278
|
+
ctx.id = res[0];
|
|
279
|
+
ctx.id.should.not.be.null();
|
|
280
|
+
res[2].should.eql ({
|
|
281
|
+
stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0, deadletter: 0 },
|
|
282
|
+
tsize: 1,
|
|
283
|
+
rsize: is_redis ? null : 0
|
|
284
|
+
})
|
|
285
|
+
cb (err, q, factory);
|
|
286
|
+
}),
|
|
287
|
+
(q, factory, cb) => {
|
|
288
|
+
q.remove (ctx.id, (err, res) => {
|
|
289
|
+
should (err).be.null();
|
|
290
|
+
res.should.be.true();
|
|
291
|
+
cb (err, q, factory);
|
|
292
|
+
});
|
|
293
|
+
},
|
|
294
|
+
(q, factory, cb) => {
|
|
295
|
+
q.remove (ctx.id, (err, res) => {
|
|
296
|
+
should (err).be.null();
|
|
297
|
+
res.should.be.false();
|
|
298
|
+
cb (err, q, factory);
|
|
299
|
+
});
|
|
300
|
+
},
|
|
301
|
+
(q, factory, cb) => async.series ([
|
|
302
|
+
cb => stats (q, cb),
|
|
303
|
+
cb => setTimeout (cb, 1000),
|
|
304
|
+
], (err, res) => {
|
|
305
|
+
res[0].should.eql ({
|
|
306
|
+
stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0, deadletter: 0 },
|
|
286
307
|
tsize: 0,
|
|
287
308
|
rsize: is_redis ? null : 0
|
|
288
309
|
});
|
|
@@ -59,7 +59,8 @@ var factory = null;
|
|
|
59
59
|
put: 0,
|
|
60
60
|
reserve: 0,
|
|
61
61
|
commit: 0,
|
|
62
|
-
rollback: 0
|
|
62
|
+
rollback: 0,
|
|
63
|
+
deadletter: 0
|
|
63
64
|
}, 0, 0, 0, null]);
|
|
64
65
|
done();
|
|
65
66
|
});
|
|
@@ -83,7 +84,8 @@ var factory = null;
|
|
|
83
84
|
put: 2,
|
|
84
85
|
reserve: 0,
|
|
85
86
|
commit: 0,
|
|
86
|
-
rollback: 0
|
|
87
|
+
rollback: 0,
|
|
88
|
+
deadletter: 0
|
|
87
89
|
});
|
|
88
90
|
cb();
|
|
89
91
|
}),
|
|
@@ -102,7 +104,8 @@ var factory = null;
|
|
|
102
104
|
put: 2,
|
|
103
105
|
reserve: 0,
|
|
104
106
|
commit: 0,
|
|
105
|
-
rollback: 0
|
|
107
|
+
rollback: 0,
|
|
108
|
+
deadletter: 0
|
|
106
109
|
});
|
|
107
110
|
cb();
|
|
108
111
|
}),
|
|
@@ -120,7 +123,8 @@ var factory = null;
|
|
|
120
123
|
put: 2,
|
|
121
124
|
reserve: 0,
|
|
122
125
|
commit: 0,
|
|
123
|
-
rollback: 0
|
|
126
|
+
rollback: 0,
|
|
127
|
+
deadletter: 0
|
|
124
128
|
});
|
|
125
129
|
cb();
|
|
126
130
|
}),
|
|
@@ -171,7 +175,8 @@ var factory = null;
|
|
|
171
175
|
put: 2,
|
|
172
176
|
reserve: 0,
|
|
173
177
|
commit: 0,
|
|
174
|
-
rollback: 0
|
|
178
|
+
rollback: 0,
|
|
179
|
+
deadletter: 0
|
|
175
180
|
});
|
|
176
181
|
cb();
|
|
177
182
|
})
|
|
@@ -204,7 +209,8 @@ var factory = null;
|
|
|
204
209
|
put: 2,
|
|
205
210
|
reserve: 0,
|
|
206
211
|
commit: 0,
|
|
207
|
-
rollback: 0
|
|
212
|
+
rollback: 0,
|
|
213
|
+
deadletter: 0
|
|
208
214
|
});
|
|
209
215
|
cb();
|
|
210
216
|
});
|
|
@@ -237,7 +243,8 @@ var factory = null;
|
|
|
237
243
|
put: 2,
|
|
238
244
|
reserve: 0,
|
|
239
245
|
commit: 0,
|
|
240
|
-
rollback: 0
|
|
246
|
+
rollback: 0,
|
|
247
|
+
deadletter: 0
|
|
241
248
|
});
|
|
242
249
|
cb();
|
|
243
250
|
})
|
|
@@ -291,7 +298,8 @@ var factory = null;
|
|
|
291
298
|
put: 2,
|
|
292
299
|
reserve: 0,
|
|
293
300
|
commit: 0,
|
|
294
|
-
rollback: 0
|
|
301
|
+
rollback: 0,
|
|
302
|
+
deadletter: 0
|
|
295
303
|
});
|
|
296
304
|
cb();
|
|
297
305
|
})
|
|
@@ -317,7 +325,8 @@ var factory = null;
|
|
|
317
325
|
put: 2,
|
|
318
326
|
reserve: 0,
|
|
319
327
|
commit: 0,
|
|
320
|
-
rollback: 0
|
|
328
|
+
rollback: 0,
|
|
329
|
+
deadletter: 0
|
|
321
330
|
});
|
|
322
331
|
cb();
|
|
323
332
|
})
|
|
@@ -343,7 +352,8 @@ var factory = null;
|
|
|
343
352
|
put: 2,
|
|
344
353
|
reserve: 0,
|
|
345
354
|
commit: 0,
|
|
346
|
-
rollback: 0
|
|
355
|
+
rollback: 0,
|
|
356
|
+
deadletter: 0
|
|
347
357
|
});
|
|
348
358
|
cb();
|
|
349
359
|
})
|
|
@@ -383,7 +393,8 @@ var factory = null;
|
|
|
383
393
|
put: 2,
|
|
384
394
|
reserve: 0,
|
|
385
395
|
commit: 0,
|
|
386
|
-
rollback: 0
|
|
396
|
+
rollback: 0,
|
|
397
|
+
deadletter: 0
|
|
387
398
|
});
|
|
388
399
|
cb();
|
|
389
400
|
})
|
|
@@ -463,7 +474,8 @@ var factory = null;
|
|
|
463
474
|
put: 2,
|
|
464
475
|
reserve: 0,
|
|
465
476
|
commit: 0,
|
|
466
|
-
rollback: 0
|
|
477
|
+
rollback: 0,
|
|
478
|
+
deadletter: 0
|
|
467
479
|
});
|
|
468
480
|
cb();
|
|
469
481
|
})
|
|
@@ -519,7 +531,8 @@ var factory = null;
|
|
|
519
531
|
put: 3,
|
|
520
532
|
reserve: 0,
|
|
521
533
|
commit: 0,
|
|
522
|
-
rollback: 0
|
|
534
|
+
rollback: 0,
|
|
535
|
+
deadletter: 0
|
|
523
536
|
});
|
|
524
537
|
cb();
|
|
525
538
|
})
|
|
@@ -576,7 +589,8 @@ var factory = null;
|
|
|
576
589
|
put: 3,
|
|
577
590
|
reserve: 0,
|
|
578
591
|
commit: 0,
|
|
579
|
-
rollback: 0
|
|
592
|
+
rollback: 0,
|
|
593
|
+
deadletter: 0
|
|
580
594
|
});
|
|
581
595
|
cb();
|
|
582
596
|
})
|
|
@@ -849,7 +863,8 @@ var factory = null;
|
|
|
849
863
|
put: 1,
|
|
850
864
|
reserve: 1,
|
|
851
865
|
commit: 1,
|
|
852
|
-
rollback: 0
|
|
866
|
+
rollback: 0,
|
|
867
|
+
deadletter: 0
|
|
853
868
|
});
|
|
854
869
|
cb();
|
|
855
870
|
}),
|
|
@@ -986,7 +1001,8 @@ var factory = null;
|
|
|
986
1001
|
put: 1,
|
|
987
1002
|
reserve: 3,
|
|
988
1003
|
commit: 1,
|
|
989
|
-
rollback: 2
|
|
1004
|
+
rollback: 2,
|
|
1005
|
+
deadletter: 0
|
|
990
1006
|
});
|
|
991
1007
|
cb();
|
|
992
1008
|
}),
|