keuss 1.6.9 → 1.6.10

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/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
@@ -724,6 +725,7 @@ class Queue {
724
725
  }
725
726
  else {
726
727
  debug ('moved %s to deadletter with _id %s', obj._id, res);
728
+ this._stats.incr ('deadletter');
727
729
  return cb (null, 'deadletter');
728
730
  }
729
731
  });
@@ -1,5 +1,4 @@
1
1
  ---
2
- id: welcome
3
2
  title: New website!
4
3
  author: Pep Martinez
5
4
  author_url: https://github.com/pepmartinez
@@ -2,6 +2,7 @@
2
2
  id: about
3
3
  title: About
4
4
  sidebar_label: About
5
+ slug: /
5
6
  ---
6
7
 
7
8
  Keuss is an attempt or experiment to provide a serverless, persistent and high-available queue middleware supporting delays/schedule, using mongodb and redis to provide most of the backend needs. As of now, it has evolved into a rather capable and complete queue middleware.
@@ -3,6 +3,9 @@ id: changelog
3
3
  title: Changelog
4
4
  sidebar_label: Changelog
5
5
  ---
6
+ * v1.6.10
7
+ * updated deps
8
+ * add 'deadletter' to stats, for elements moved to deadletter queue
6
9
  * v1.6.9
7
10
  * fix glitch in remove item on tape mongo (ps-mongo)
8
11
  * v1.6.8
@@ -1,7 +1,7 @@
1
1
  module.exports = {
2
2
  title: 'Keuss Job Queues',
3
3
  tagline: 'Job Queues for node.js, backed by redis and/or MongoDB',
4
- url: 'https://pepmartinez.github.io/keuss',
4
+ url: 'https://pepmartinez.github.io',
5
5
  baseUrl: '/keuss/',
6
6
  onBrokenLinks: 'throw',
7
7
  favicon: 'img/favicon.ico',
@@ -76,7 +76,6 @@ module.exports = {
76
76
  {
77
77
  docs: {
78
78
  // It is recommended to set document id as docs home page (`docs/` path).
79
- homePageId: 'about',
80
79
  sidebarPath: require.resolve('./sidebars.js'),
81
80
  // Please change this to your repo.
82
81
  editUrl:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keuss-docusaurus",
3
- "version": "1.6.9",
3
+ "version": "1.6.10",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "docusaurus": "docusaurus",
@@ -11,8 +11,8 @@
11
11
  "serve": "docusaurus serve"
12
12
  },
13
13
  "dependencies": {
14
- "@docusaurus/core": "^2.0.0-beta.9",
15
- "@docusaurus/preset-classic": "^2.0.0-beta.9",
14
+ "@docusaurus/core": "^2.0.0-beta.15",
15
+ "@docusaurus/preset-classic": "^2.0.0-beta.15",
16
16
  "@mdx-js/react": "^1.6.22",
17
17
  "clsx": "^1.1.1",
18
18
  "react": "^17.0.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keuss",
3
- "version": "1.6.9",
3
+ "version": "1.6.10",
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.1",
31
- "async-lock": "~1.3.0",
32
- "debug": "~4.3.2",
33
- "ioredis": "~4.27.10",
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.2",
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();
@@ -130,7 +130,7 @@ function release_mq_factory (q, factory, cb) {
130
130
  ctx.id = res[0];
131
131
  ctx.id.should.not.be.null();
132
132
  res[2].should.eql ({
133
- 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 },
134
134
  tsize: 1,
135
135
  rsize: is_redis ? null : 0
136
136
  })
@@ -148,7 +148,7 @@ function release_mq_factory (q, factory, cb) {
148
148
  cb => setTimeout (cb, 1000),
149
149
  ], (err, res) => {
150
150
  res[0].should.eql ({
151
- 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 },
152
152
  tsize: 0,
153
153
  rsize: is_redis ? null : 0
154
154
  });
@@ -195,7 +195,7 @@ function release_mq_factory (q, factory, cb) {
195
195
  cb => setTimeout (cb, 1000),
196
196
  ], (err, res) => {
197
197
  res[0].should.eql ({
198
- 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 },
199
199
  tsize: 1,
200
200
  rsize: is_redis ? null : 1
201
201
  });
@@ -249,7 +249,7 @@ function release_mq_factory (q, factory, cb) {
249
249
  cb => setTimeout (cb, 1000),
250
250
  ], (err, res) => {
251
251
  res[0].should.eql ({
252
- 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
253
  tsize: 0,
254
254
  rsize: is_redis ? null : 0
255
255
  });
@@ -278,7 +278,7 @@ function release_mq_factory (q, factory, cb) {
278
278
  ctx.id = res[0];
279
279
  ctx.id.should.not.be.null();
280
280
  res[2].should.eql ({
281
- stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0 },
281
+ stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0, deadletter: 0 },
282
282
  tsize: 1,
283
283
  rsize: is_redis ? null : 0
284
284
  })
@@ -303,7 +303,7 @@ function release_mq_factory (q, factory, cb) {
303
303
  cb => setTimeout (cb, 1000),
304
304
  ], (err, res) => {
305
305
  res[0].should.eql ({
306
- stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0 },
306
+ stats: { get: 0, put: 1, reserve: 0, commit: 0, rollback: 0, deadletter: 0 },
307
307
  tsize: 0,
308
308
  rsize: is_redis ? null : 0
309
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
  }),