keuss 1.6.4 → 1.6.8
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/.nyc_output/ad035de4-a3d3-451b-b2ad-402e8ed517b8.json +1 -0
- package/.nyc_output/{06313f3e-1553-402b-bdc2-3a7a639cd559.json → c8683d6c-e7e6-496b-ab0d-1ff730837d08.json} +0 -0
- package/.nyc_output/processinfo/ad035de4-a3d3-451b-b2ad-402e8ed517b8.json +1 -0
- package/.nyc_output/processinfo/c8683d6c-e7e6-496b-ab0d-1ff730837d08.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/Pipeline/Queue.js +24 -1
- package/Queue.js +26 -10
- package/TODO +0 -7
- package/backends/bucket-mongo-safe.js +39 -3
- package/backends/mongo.js +23 -2
- package/backends/pl-mongo.js +2 -1
- package/backends/ps-mongo.js +31 -2
- package/backends/redis-oq.js +12 -1
- package/coverage/index.html +43 -43
- package/coverage/keuss/Pipeline/BaseLink.js.html +18 -18
- package/coverage/keuss/Pipeline/Builder.js.html +1 -1
- package/coverage/keuss/Pipeline/ChoiceLink.js.html +1 -1
- package/coverage/keuss/Pipeline/DirectLink.js.html +1 -1
- package/coverage/keuss/Pipeline/Pipeline.js.html +15 -15
- package/coverage/keuss/Pipeline/Queue.js.html +124 -55
- package/coverage/keuss/Pipeline/Sink.js.html +1 -1
- package/coverage/keuss/Pipeline/index.html +18 -18
- package/coverage/keuss/QFactory-MongoDB-defaults.js.html +6 -6
- package/coverage/keuss/QFactory.js.html +28 -28
- package/coverage/keuss/Queue.js.html +232 -181
- package/coverage/keuss/Signal.js.html +28 -28
- package/coverage/keuss/Stats.js.html +4 -4
- package/coverage/keuss/backends/bucket-mongo-safe.js.html +476 -314
- package/coverage/keuss/backends/bucket-mongo.js.html +134 -86
- package/coverage/keuss/backends/index.html +69 -69
- package/coverage/keuss/backends/mongo.js.html +137 -74
- package/coverage/keuss/backends/pl-mongo.js.html +54 -54
- package/coverage/keuss/backends/ps-mongo.js.html +164 -80
- package/coverage/keuss/backends/redis-list.js.html +39 -36
- package/coverage/keuss/backends/redis-oq.js.html +27 -27
- package/coverage/keuss/index.html +18 -18
- package/coverage/keuss/signal/index.html +1 -1
- package/coverage/keuss/signal/local.js.html +17 -17
- package/coverage/keuss/signal/mongo-capped.js.html +1 -1
- package/coverage/keuss/signal/redis-pubsub.js.html +12 -12
- package/coverage/keuss/stats/index.html +10 -10
- package/coverage/keuss/stats/mem.js.html +36 -30
- package/coverage/keuss/stats/mongo.js.html +8 -8
- package/coverage/keuss/stats/redis.js.html +17 -17
- package/coverage/keuss/utils/RedisConn.js.html +1 -1
- package/coverage/keuss/utils/RedisOrderedQueue.js.html +36 -33
- package/coverage/keuss/utils/index.html +5 -5
- package/docusaurus/docs/api/queue.md +24 -1
- package/docusaurus/docs/changelog.md +11 -0
- package/docusaurus/docs/concepts.md +13 -9
- package/docusaurus/package-lock.json +4422 -10244
- package/docusaurus/package.json +6 -6
- package/docusaurus/yarn.lock +8864 -0
- package/package.json +11 -11
- package/stats/mem.js +3 -1
- package/test/backends_bucket-at-least-once.js +13 -13
- package/test/backends_remove.js +299 -0
- package/test/backends_reserve-commit-rollback.js +165 -151
- package/utils/RedisOrderedQueue.js +46 -3
- package/.nyc_output/a06aa990-295d-4428-872d-ba9fa06afd1f.json +0 -1
- package/.nyc_output/processinfo/06313f3e-1553-402b-bdc2-3a7a639cd559.json +0 -1
- package/.nyc_output/processinfo/a06aa990-295d-4428-872d-ba9fa06afd1f.json +0 -1
|
@@ -419,7 +419,7 @@
|
|
|
419
419
|
<span class="cline-any cline-neutral"> </span>
|
|
420
420
|
<span class="cline-any cline-neutral"> </span>
|
|
421
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-yes">
|
|
422
|
+
<span class="cline-any cline-yes">750x</span>
|
|
423
423
|
<span class="cline-any cline-neutral"> </span>
|
|
424
424
|
<span class="cline-any cline-yes">279x</span>
|
|
425
425
|
<span class="cline-any cline-yes">153x</span>
|
|
@@ -447,16 +447,16 @@
|
|
|
447
447
|
<span class="cline-any cline-neutral"> </span>
|
|
448
448
|
<span class="cline-any cline-neutral"> </span>
|
|
449
449
|
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-yes">
|
|
450
|
+
<span class="cline-any cline-yes">750x</span>
|
|
451
451
|
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-yes">
|
|
453
|
-
<span class="cline-any cline-yes">
|
|
452
|
+
<span class="cline-any cline-yes">750x</span>
|
|
453
|
+
<span class="cline-any cline-yes">552x</span>
|
|
454
454
|
<span class="cline-any cline-neutral"> </span>
|
|
455
455
|
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-yes">
|
|
457
|
-
<span class="cline-any cline-yes">
|
|
456
|
+
<span class="cline-any cline-yes">750x</span>
|
|
457
|
+
<span class="cline-any cline-yes">750x</span>
|
|
458
458
|
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-yes">
|
|
459
|
+
<span class="cline-any cline-yes">750x</span>
|
|
460
460
|
<span class="cline-any cline-neutral"> </span>
|
|
461
461
|
<span class="cline-any cline-neutral"> </span>
|
|
462
462
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -913,7 +913,7 @@ module.exports = creator;
|
|
|
913
913
|
</div><!-- /wrapper -->
|
|
914
914
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
915
915
|
Code coverage
|
|
916
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
916
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri Dec 03 2021 12:14:40 GMT+0100 (GMT+01:00)
|
|
917
917
|
</div>
|
|
918
918
|
</div>
|
|
919
919
|
<script src="../../prettify.js"></script>
|
|
@@ -386,24 +386,24 @@
|
|
|
386
386
|
<span class="cline-any cline-neutral"> </span>
|
|
387
387
|
<span class="cline-any cline-neutral"> </span>
|
|
388
388
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-yes">
|
|
390
|
-
<span class="cline-any cline-yes">
|
|
391
|
-
<span class="cline-any cline-yes">
|
|
392
|
-
<span class="cline-any cline-yes">
|
|
393
|
-
<span class="cline-any cline-yes">
|
|
389
|
+
<span class="cline-any cline-yes">246x</span>
|
|
390
|
+
<span class="cline-any cline-yes">206x</span>
|
|
391
|
+
<span class="cline-any cline-yes">157x</span>
|
|
392
|
+
<span class="cline-any cline-yes">157x</span>
|
|
393
|
+
<span class="cline-any cline-yes">157x</span>
|
|
394
394
|
<span class="cline-any cline-neutral"> </span>
|
|
395
395
|
<span class="cline-any cline-neutral"> </span>
|
|
396
396
|
<span class="cline-any cline-neutral"> </span>
|
|
397
|
-
<span class="cline-any cline-yes">
|
|
397
|
+
<span class="cline-any cline-yes">246x</span>
|
|
398
398
|
<span class="cline-any cline-neutral"> </span>
|
|
399
399
|
<span class="cline-any cline-neutral"> </span>
|
|
400
400
|
<span class="cline-any cline-neutral"> </span>
|
|
401
401
|
<span class="cline-any cline-neutral"> </span>
|
|
402
|
-
<span class="cline-any cline-yes">
|
|
402
|
+
<span class="cline-any cline-yes">750x</span>
|
|
403
403
|
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-yes">
|
|
405
|
-
<span class="cline-any cline-yes">
|
|
406
|
-
<span class="cline-any cline-yes">
|
|
404
|
+
<span class="cline-any cline-yes">278x</span>
|
|
405
|
+
<span class="cline-any cline-yes">152x</span>
|
|
406
|
+
<span class="cline-any cline-yes">152x</span>
|
|
407
407
|
<span class="cline-any cline-neutral"> </span>
|
|
408
408
|
<span class="cline-any cline-neutral"> </span>
|
|
409
409
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -417,16 +417,16 @@
|
|
|
417
417
|
<span class="cline-any cline-neutral"> </span>
|
|
418
418
|
<span class="cline-any cline-neutral"> </span>
|
|
419
419
|
<span class="cline-any cline-neutral"> </span>
|
|
420
|
-
<span class="cline-any cline-yes">
|
|
420
|
+
<span class="cline-any cline-yes">750x</span>
|
|
421
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-yes">
|
|
423
|
-
<span class="cline-any cline-yes">
|
|
422
|
+
<span class="cline-any cline-yes">750x</span>
|
|
423
|
+
<span class="cline-any cline-yes">551x</span>
|
|
424
424
|
<span class="cline-any cline-neutral"> </span>
|
|
425
425
|
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-yes">
|
|
427
|
-
<span class="cline-any cline-yes">
|
|
426
|
+
<span class="cline-any cline-yes">750x</span>
|
|
427
|
+
<span class="cline-any cline-yes">750x</span>
|
|
428
428
|
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-yes">
|
|
429
|
+
<span class="cline-any cline-yes">750x</span>
|
|
430
430
|
<span class="cline-any cline-neutral"> </span>
|
|
431
431
|
<span class="cline-any cline-neutral"> </span>
|
|
432
432
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -877,7 +877,7 @@ module.exports = creator;
|
|
|
877
877
|
</div><!-- /wrapper -->
|
|
878
878
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
879
879
|
Code coverage
|
|
880
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
880
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri Dec 03 2021 12:14:40 GMT+0100 (GMT+01:00)
|
|
881
881
|
</div>
|
|
882
882
|
</div>
|
|
883
883
|
<script src="../../prettify.js"></script>
|
|
@@ -133,7 +133,7 @@ module.exports = {
|
|
|
133
133
|
</div><!-- /wrapper -->
|
|
134
134
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
135
135
|
Code coverage
|
|
136
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
136
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri Dec 03 2021 12:14:40 GMT+0100 (GMT+01:00)
|
|
137
137
|
</div>
|
|
138
138
|
</div>
|
|
139
139
|
<script src="../../prettify.js"></script>
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
<span class='fraction'>48/50</span>
|
|
26
26
|
</div>
|
|
27
27
|
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">
|
|
28
|
+
<span class="strong">84.62% </span>
|
|
29
29
|
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>
|
|
30
|
+
<span class='fraction'>22/26</span>
|
|
31
31
|
</div>
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
@@ -310,7 +310,8 @@
|
|
|
310
310
|
<a name='L262'></a><a href='#L262'>262</a>
|
|
311
311
|
<a name='L263'></a><a href='#L263'>263</a>
|
|
312
312
|
<a name='L264'></a><a href='#L264'>264</a>
|
|
313
|
-
<a name='L265'></a><a href='#L265'>265</a
|
|
313
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
314
|
+
<a name='L266'></a><a href='#L266'>266</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
314
315
|
<span class="cline-any cline-neutral"> </span>
|
|
315
316
|
<span class="cline-any cline-neutral"> </span>
|
|
316
317
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -451,15 +452,15 @@
|
|
|
451
452
|
<span class="cline-any cline-neutral"> </span>
|
|
452
453
|
<span class="cline-any cline-neutral"> </span>
|
|
453
454
|
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-yes">
|
|
455
|
-
<span class="cline-any cline-yes">
|
|
456
|
-
<span class="cline-any cline-yes">
|
|
455
|
+
<span class="cline-any cline-yes">71x</span>
|
|
456
|
+
<span class="cline-any cline-yes">71x</span>
|
|
457
|
+
<span class="cline-any cline-yes">71x</span>
|
|
457
458
|
<span class="cline-any cline-neutral"> </span>
|
|
458
459
|
<span class="cline-any cline-neutral"> </span>
|
|
459
460
|
<span class="cline-any cline-neutral"> </span>
|
|
460
461
|
<span class="cline-any cline-neutral"> </span>
|
|
461
462
|
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-yes">
|
|
463
|
+
<span class="cline-any cline-yes">119x</span>
|
|
463
464
|
<span class="cline-any cline-neutral"> </span>
|
|
464
465
|
<span class="cline-any cline-neutral"> </span>
|
|
465
466
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -467,58 +468,59 @@
|
|
|
467
468
|
<span class="cline-any cline-neutral"> </span>
|
|
468
469
|
<span class="cline-any cline-neutral"> </span>
|
|
469
470
|
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-yes">109x</span>
|
|
471
|
-
<span class="cline-any cline-yes">2x</span>
|
|
472
|
-
<span class="cline-any cline-yes">2x</span>
|
|
473
471
|
<span class="cline-any cline-neutral"> </span>
|
|
472
|
+
<span class="cline-any cline-yes">119x</span>
|
|
473
|
+
<span class="cline-any cline-yes">4x</span>
|
|
474
|
+
<span class="cline-any cline-yes">4x</span>
|
|
474
475
|
<span class="cline-any cline-neutral"> </span>
|
|
475
|
-
<span class="cline-any cline-yes">109x</span>
|
|
476
476
|
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-yes">119x</span>
|
|
477
478
|
<span class="cline-any cline-neutral"> </span>
|
|
478
479
|
<span class="cline-any cline-neutral"> </span>
|
|
479
480
|
<span class="cline-any cline-neutral"> </span>
|
|
480
481
|
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-yes">126x</span>
|
|
482
|
-
<span class="cline-any cline-yes">126x</span>
|
|
483
|
-
<span class="cline-any cline-yes">126x</span>
|
|
484
|
-
<span class="cline-any cline-yes">99x</span>
|
|
485
|
-
<span class="cline-any cline-yes">99x</span>
|
|
486
482
|
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-yes">
|
|
488
|
-
<span class="cline-any cline-yes">
|
|
489
|
-
<span class="cline-any cline-yes">
|
|
483
|
+
<span class="cline-any cline-yes">131x</span>
|
|
484
|
+
<span class="cline-any cline-yes">131x</span>
|
|
485
|
+
<span class="cline-any cline-yes">131x</span>
|
|
486
|
+
<span class="cline-any cline-yes">104x</span>
|
|
487
|
+
<span class="cline-any cline-yes">104x</span>
|
|
490
488
|
<span class="cline-any cline-neutral"> </span>
|
|
489
|
+
<span class="cline-any cline-yes">104x</span>
|
|
490
|
+
<span class="cline-any cline-yes">2x</span>
|
|
491
|
+
<span class="cline-any cline-yes">2x</span>
|
|
491
492
|
<span class="cline-any cline-neutral"> </span>
|
|
492
493
|
<span class="cline-any cline-neutral"> </span>
|
|
493
494
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">99x</span>
|
|
495
495
|
<span class="cline-any cline-neutral"> </span>
|
|
496
|
+
<span class="cline-any cline-yes">104x</span>
|
|
496
497
|
<span class="cline-any cline-neutral"> </span>
|
|
497
498
|
<span class="cline-any cline-neutral"> </span>
|
|
498
499
|
<span class="cline-any cline-neutral"> </span>
|
|
499
500
|
<span class="cline-any cline-neutral"> </span>
|
|
500
501
|
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-yes">33x</span>
|
|
502
|
-
<span class="cline-any cline-yes">33x</span>
|
|
503
|
-
<span class="cline-any cline-yes">33x</span>
|
|
504
|
-
<span class="cline-any cline-yes">22x</span>
|
|
505
|
-
<span class="cline-any cline-yes">22x</span>
|
|
506
502
|
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">
|
|
508
|
-
<span class="cline-any cline-yes">
|
|
509
|
-
<span class="cline-any cline-yes">
|
|
503
|
+
<span class="cline-any cline-yes">38x</span>
|
|
504
|
+
<span class="cline-any cline-yes">38x</span>
|
|
505
|
+
<span class="cline-any cline-yes">38x</span>
|
|
506
|
+
<span class="cline-any cline-yes">27x</span>
|
|
507
|
+
<span class="cline-any cline-yes">27x</span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-yes">27x</span>
|
|
510
|
+
<span class="cline-any cline-yes">2x</span>
|
|
511
|
+
<span class="cline-any cline-yes">2x</span>
|
|
510
512
|
<span class="cline-any cline-neutral"> </span>
|
|
511
513
|
<span class="cline-any cline-neutral"> </span>
|
|
512
514
|
<span class="cline-any cline-neutral"> </span>
|
|
513
515
|
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">
|
|
516
|
+
<span class="cline-any cline-yes">27x</span>
|
|
515
517
|
<span class="cline-any cline-neutral"> </span>
|
|
516
518
|
<span class="cline-any cline-neutral"> </span>
|
|
517
519
|
<span class="cline-any cline-neutral"> </span>
|
|
518
520
|
<span class="cline-any cline-neutral"> </span>
|
|
519
521
|
<span class="cline-any cline-neutral"> </span>
|
|
520
522
|
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-yes">
|
|
523
|
+
<span class="cline-any cline-yes">16x</span>
|
|
522
524
|
<span class="cline-any cline-neutral"> </span>
|
|
523
525
|
<span class="cline-any cline-neutral"> </span>
|
|
524
526
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -552,7 +554,7 @@
|
|
|
552
554
|
<span class="cline-any cline-neutral"> </span>
|
|
553
555
|
<span class="cline-any cline-neutral"> </span>
|
|
554
556
|
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-yes">
|
|
557
|
+
<span class="cline-any cline-yes">50x</span>
|
|
556
558
|
<span class="cline-any cline-neutral"> </span>
|
|
557
559
|
<span class="cline-any cline-neutral"> </span>
|
|
558
560
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -569,7 +571,7 @@
|
|
|
569
571
|
<span class="cline-any cline-neutral"> </span>
|
|
570
572
|
<span class="cline-any cline-neutral"> </span>
|
|
571
573
|
<span class="cline-any cline-neutral"> </span>
|
|
572
|
-
<span class="cline-any cline-yes">
|
|
574
|
+
<span class="cline-any cline-yes">71x</span>
|
|
573
575
|
<span class="cline-any cline-neutral"> </span>
|
|
574
576
|
<span class="cline-any cline-neutral"> </span>
|
|
575
577
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -727,6 +729,7 @@ class RedisOrderedQueue {
|
|
|
727
729
|
_id: entry.id || uuid.v4(),
|
|
728
730
|
payload: entry.payload,
|
|
729
731
|
tries: entry.tries,
|
|
732
|
+
hdrs: entry.hdrs || <span class="branch-1 cbranch-no" title="branch not covered" >{},</span>
|
|
730
733
|
mature: (entry.mature || <span class="branch-1 cbranch-no" title="branch not covered" >new Date ())</span>.getTime ()
|
|
731
734
|
};
|
|
732
735
|
|
|
@@ -844,7 +847,7 @@ module.exports = Factory;
|
|
|
844
847
|
</div><!-- /wrapper -->
|
|
845
848
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
846
849
|
Code coverage
|
|
847
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
850
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri Dec 03 2021 12:14:40 GMT+0100 (GMT+01:00)
|
|
848
851
|
</div>
|
|
849
852
|
</div>
|
|
850
853
|
<script src="../../prettify.js"></script>
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
<span class='fraction'>57/62</span>
|
|
26
26
|
</div>
|
|
27
27
|
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">
|
|
28
|
+
<span class="strong">79.41% </span>
|
|
29
29
|
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>
|
|
30
|
+
<span class='fraction'>27/34</span>
|
|
31
31
|
</div>
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<td data-value="96" class="pic high"><div class="chart"><div class="cover-fill" style="width: 96%;"></div><div class="cover-empty" style="width:4%;"></div></div></td>
|
|
80
80
|
<td data-value="96" class="pct high">96%</td>
|
|
81
81
|
<td data-value="50" class="abs high">48/50</td>
|
|
82
|
-
<td data-value="
|
|
83
|
-
<td data-value="
|
|
82
|
+
<td data-value="84.62" class="pct high">84.62%</td>
|
|
83
|
+
<td data-value="26" class="abs high">22/26</td>
|
|
84
84
|
<td data-value="100" class="pct high">100%</td>
|
|
85
85
|
<td data-value="14" class="abs high">14/14</td>
|
|
86
86
|
<td data-value="100" class="pct high">100%</td>
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
</div><!-- /wrapper -->
|
|
94
94
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
95
|
Code coverage
|
|
96
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
96
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri Dec 03 2021 12:14:40 GMT+0100 (GMT+01:00)
|
|
97
97
|
</div>
|
|
98
98
|
</div>
|
|
99
99
|
<script src="../../prettify.js"></script>
|
|
@@ -187,7 +187,12 @@ q.ko (id, next_t, (err, res) => {
|
|
|
187
187
|
|
|
188
188
|
Rolls back a reserved element by its id (the id would be at `res._id` on the `res` param of `pop()` operation). This effectively makes the element available again at the queue, marking it to be mature at `next_t` (`next_t` being a millsec-unixtime). If no `next_t` is specified or a `null` is passed, `now()` is assumed.
|
|
189
189
|
|
|
190
|
-
|
|
190
|
+
the `res` param of the callback can take the following values:
|
|
191
|
+
* `true` if all went ok and an element was in fact rolled back
|
|
192
|
+
* *nullish* if the element does not exist in the queue
|
|
193
|
+
* `'deadletter'` (as string) if the rollback resulted in the element being moved to deadletter
|
|
194
|
+
|
|
195
|
+
As with `ok()`, you can use the entire `res` object as `id`:
|
|
191
196
|
|
|
192
197
|
```javascript
|
|
193
198
|
var tr = q.pop ('my-consumer-id', {reserve: true}, (err, res) => {
|
|
@@ -199,6 +204,10 @@ var tr = q.pop ('my-consumer-id', {reserve: true}, (err, res) => {
|
|
|
199
204
|
...
|
|
200
205
|
})
|
|
201
206
|
else q.ko (res, (err, res) => {
|
|
207
|
+
if (res === 'deadletter') {
|
|
208
|
+
// moved to deadletter
|
|
209
|
+
...
|
|
210
|
+
}
|
|
202
211
|
...
|
|
203
212
|
})
|
|
204
213
|
});
|
|
@@ -208,6 +217,20 @@ var tr = q.pop ('my-consumer-id', {reserve: true}, (err, res) => {
|
|
|
208
217
|
You must pass the entire `res` object for the [deadletter](../api/factory#dead-letter) feature to work; even if activated at the factory, `ko()` will not honor deadletter if you only pass the `res._id` as `id`.
|
|
209
218
|
:::
|
|
210
219
|
|
|
220
|
+
### `remove`: Delete elements from queue by id
|
|
221
|
+
|
|
222
|
+
```javascript
|
|
223
|
+
q.remove (id, (err, res) => {
|
|
224
|
+
...
|
|
225
|
+
})
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Remvoes an element from a queue, by using the id returned at insertion time (backends supporting `remove` will return an in upon insertion). A reserved element can not be removed, and will be considered as nonexistent
|
|
229
|
+
|
|
230
|
+
the `res` param of the callback can take the following values:
|
|
231
|
+
* `true` if all went ok and the element was removed
|
|
232
|
+
* *nullish* if the element does not exist in the queue
|
|
233
|
+
|
|
211
234
|
### `drain`: Drain queue
|
|
212
235
|
|
|
213
236
|
```javascript
|
|
@@ -3,6 +3,17 @@ id: changelog
|
|
|
3
3
|
title: Changelog
|
|
4
4
|
sidebar_label: Changelog
|
|
5
5
|
---
|
|
6
|
+
* v.1.6.8
|
|
7
|
+
* added remove-by-id support
|
|
8
|
+
* v1.6.7
|
|
9
|
+
* small fix on deadetter signalling
|
|
10
|
+
* v1.6.6
|
|
11
|
+
* added reserve, commit, rollback counters to stats
|
|
12
|
+
* fixed mongo-driver deprecation
|
|
13
|
+
* v1.6.5
|
|
14
|
+
* dependencies updated
|
|
15
|
+
* v1.6.4
|
|
16
|
+
* dependencies updated
|
|
6
17
|
* v1.6.3
|
|
7
18
|
* added support for headers (along with payload)
|
|
8
19
|
* v1.6.2
|
|
@@ -13,6 +13,7 @@ A **Queue** is more of an interface, a definition of what it can do. Keuss queue
|
|
|
13
13
|
* Get an element, and block for some specified time if no element is available.
|
|
14
14
|
* Reserve an element, and block for some specified time if no element is available.
|
|
15
15
|
* Commit (remove) or rollback (return back) a previously reserved element.
|
|
16
|
+
* Remove an element by its id (which was returned in the insertion)
|
|
16
17
|
* Get element count (it will not include the elements scheduled in the future).
|
|
17
18
|
* Get element count whose not-before datetime is in the future (scheduled elements).
|
|
18
19
|
* Get usage stats: elements inserted, elements extracted.
|
|
@@ -54,15 +55,15 @@ As mentioned before, persistence and High Availability (HA) depends exclusively
|
|
|
54
55
|
|
|
55
56
|
The following table shows the capabilities of each backend:
|
|
56
57
|
|
|
57
|
-
backend | delay/schedule | reserve/commit | pipelining | history | throughput |
|
|
58
|
-
|
|
59
|
-
redis-list | - | - | - | - | ++++
|
|
60
|
-
redis-oq | x | x | - | - | +++
|
|
61
|
-
mongo | x | x | - | - | ++
|
|
62
|
-
pl-mongo | x | x | x | - | +
|
|
63
|
-
ps-mongo | x | x | - | x | ++
|
|
64
|
-
bucket-mongo | - | - | - | - | +++++
|
|
65
|
-
bucket-mongo-safe | x | x | - | - | +++++
|
|
58
|
+
backend | delay/schedule | reserve/commit | pipelining | history | remove | throughput |
|
|
59
|
+
------------------|:--------------:|:--------------:|:----------:|:-------:|:------:|:----------:|
|
|
60
|
+
redis-list | - | - | - | - | - | ++++
|
|
61
|
+
redis-oq | x | x | - | - | x | +++
|
|
62
|
+
mongo | x | x | - | - | x | ++
|
|
63
|
+
pl-mongo | x | x | x | - | x | +
|
|
64
|
+
ps-mongo | x | x | - | x | x | ++
|
|
65
|
+
bucket-mongo | - | - | - | - | - | +++++
|
|
66
|
+
bucket-mongo-safe | x | x | - | - | x | +++++
|
|
66
67
|
|
|
67
68
|
## Signaller
|
|
68
69
|
|
|
@@ -88,6 +89,9 @@ queue *on every machine* will be awaken when an insertion happens *on any machin
|
|
|
88
89
|
|
|
89
90
|
* Elements put
|
|
90
91
|
* Elements got
|
|
92
|
+
* Elements reserved
|
|
93
|
+
* Elements committed
|
|
94
|
+
* Elements rolled back
|
|
91
95
|
* Paused status
|
|
92
96
|
|
|
93
97
|
Three options are provided to store the stats:
|