bullmq 5.21.2 → 5.23.0

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.
Files changed (92) hide show
  1. package/README.md +21 -21
  2. package/dist/cjs/classes/flow-producer.js +1 -0
  3. package/dist/cjs/classes/flow-producer.js.map +1 -1
  4. package/dist/cjs/classes/job-scheduler.js +14 -0
  5. package/dist/cjs/classes/job-scheduler.js.map +1 -1
  6. package/dist/cjs/classes/job.js +61 -41
  7. package/dist/cjs/classes/job.js.map +1 -1
  8. package/dist/cjs/classes/queue-base.js +54 -0
  9. package/dist/cjs/classes/queue-base.js.map +1 -1
  10. package/dist/cjs/classes/queue-events.js.map +1 -1
  11. package/dist/cjs/classes/queue.js +172 -76
  12. package/dist/cjs/classes/queue.js.map +1 -1
  13. package/dist/cjs/classes/worker.js +232 -128
  14. package/dist/cjs/classes/worker.js.map +1 -1
  15. package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +2 -2
  16. package/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
  17. package/dist/cjs/commands/moveStalledJobsToWait-9.lua +3 -3
  18. package/dist/cjs/commands/moveToFinished-14.lua +2 -2
  19. package/dist/cjs/commands/updateJobOption-1.lua +26 -0
  20. package/dist/cjs/enums/index.js +1 -0
  21. package/dist/cjs/enums/index.js.map +1 -1
  22. package/dist/cjs/enums/telemetry-attributes.js +45 -0
  23. package/dist/cjs/enums/telemetry-attributes.js.map +1 -0
  24. package/dist/cjs/interfaces/index.js +1 -0
  25. package/dist/cjs/interfaces/index.js.map +1 -1
  26. package/dist/cjs/interfaces/queue-options.js.map +1 -1
  27. package/dist/cjs/interfaces/telemetry.js +3 -0
  28. package/dist/cjs/interfaces/telemetry.js.map +1 -0
  29. package/dist/cjs/scripts/index.js +1 -0
  30. package/dist/cjs/scripts/index.js.map +1 -1
  31. package/dist/cjs/scripts/moveStalledJobsToWait-9.js +9 -9
  32. package/dist/cjs/scripts/moveToFinished-14.js +8 -8
  33. package/dist/cjs/scripts/updateJobOption-1.js +30 -0
  34. package/dist/cjs/scripts/updateJobOption-1.js.map +1 -0
  35. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  36. package/dist/cjs/version.js +1 -1
  37. package/dist/esm/classes/flow-producer.js +1 -0
  38. package/dist/esm/classes/flow-producer.js.map +1 -1
  39. package/dist/esm/classes/job-scheduler.d.ts +2 -1
  40. package/dist/esm/classes/job-scheduler.js +14 -0
  41. package/dist/esm/classes/job-scheduler.js.map +1 -1
  42. package/dist/esm/classes/job.d.ts +2 -0
  43. package/dist/esm/classes/job.js +61 -41
  44. package/dist/esm/classes/job.js.map +1 -1
  45. package/dist/esm/classes/queue-base.d.ts +19 -1
  46. package/dist/esm/classes/queue-base.js +54 -0
  47. package/dist/esm/classes/queue-base.js.map +1 -1
  48. package/dist/esm/classes/queue-events.js.map +1 -1
  49. package/dist/esm/classes/queue.d.ts +6 -0
  50. package/dist/esm/classes/queue.js +172 -76
  51. package/dist/esm/classes/queue.js.map +1 -1
  52. package/dist/esm/classes/worker.d.ts +2 -1
  53. package/dist/esm/classes/worker.js +232 -128
  54. package/dist/esm/classes/worker.js.map +1 -1
  55. package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +2 -2
  56. package/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
  57. package/dist/esm/commands/moveStalledJobsToWait-9.lua +3 -3
  58. package/dist/esm/commands/moveToFinished-14.lua +2 -2
  59. package/dist/esm/commands/updateJobOption-1.lua +26 -0
  60. package/dist/esm/enums/index.d.ts +1 -0
  61. package/dist/esm/enums/index.js +1 -0
  62. package/dist/esm/enums/index.js.map +1 -1
  63. package/dist/esm/enums/telemetry-attributes.d.ts +39 -0
  64. package/dist/esm/enums/telemetry-attributes.js +42 -0
  65. package/dist/esm/enums/telemetry-attributes.js.map +1 -0
  66. package/dist/esm/interfaces/base-job-options.d.ts +4 -0
  67. package/dist/esm/interfaces/index.d.ts +1 -0
  68. package/dist/esm/interfaces/index.js +1 -0
  69. package/dist/esm/interfaces/index.js.map +1 -1
  70. package/dist/esm/interfaces/queue-options.d.ts +9 -0
  71. package/dist/esm/interfaces/queue-options.js.map +1 -1
  72. package/dist/esm/interfaces/repeatable-job.d.ts +1 -1
  73. package/dist/esm/interfaces/telemetry.d.ts +150 -0
  74. package/dist/esm/interfaces/telemetry.js +2 -0
  75. package/dist/esm/interfaces/telemetry.js.map +1 -0
  76. package/dist/esm/interfaces/worker-options.d.ts +13 -0
  77. package/dist/esm/scripts/index.d.ts +1 -0
  78. package/dist/esm/scripts/index.js +1 -0
  79. package/dist/esm/scripts/index.js.map +1 -1
  80. package/dist/esm/scripts/moveStalledJobsToWait-9.js +9 -9
  81. package/dist/esm/scripts/moveToFinished-14.js +8 -8
  82. package/dist/esm/scripts/updateJobOption-1.d.ts +5 -0
  83. package/dist/esm/scripts/updateJobOption-1.js +27 -0
  84. package/dist/esm/scripts/updateJobOption-1.js.map +1 -0
  85. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  86. package/dist/esm/types/job-options.d.ts +4 -0
  87. package/dist/esm/types/minimal-queue.d.ts +1 -1
  88. package/dist/esm/version.d.ts +1 -1
  89. package/dist/esm/version.js +1 -1
  90. package/package.json +2 -2
  91. package/dist/cjs/commands/includes/removeDebounceKeyIfNeeded.lua +0 -14
  92. package/dist/esm/commands/includes/removeDebounceKeyIfNeeded.lua +0 -14
@@ -5,6 +5,7 @@ const uuid_1 = require("uuid");
5
5
  const job_1 = require("./job");
6
6
  const queue_getters_1 = require("./queue-getters");
7
7
  const repeat_1 = require("./repeat");
8
+ const enums_1 = require("../enums");
8
9
  const job_scheduler_1 = require("./job-scheduler");
9
10
  const version_1 = require("../version");
10
11
  /**
@@ -118,23 +119,31 @@ class Queue extends queue_getters_1.QueueGetters {
118
119
  * @param opts - Job options that affects how the job is going to be processed.
119
120
  */
120
121
  async add(name, data, opts) {
121
- if (opts && opts.repeat) {
122
- if (opts.repeat.endDate) {
123
- if (+new Date(opts.repeat.endDate) < Date.now()) {
124
- throw new Error('End date must be greater than current timestamp');
122
+ return this.trace(enums_1.SpanKind.PRODUCER, 'add', `${this.name}.${name}`, async (span, srcPropagationMedatada) => {
123
+ if (srcPropagationMedatada) {
124
+ opts = Object.assign(Object.assign({}, opts), { telemetryMetadata: srcPropagationMedatada });
125
+ }
126
+ if (opts && opts.repeat) {
127
+ if (opts.repeat.endDate) {
128
+ if (+new Date(opts.repeat.endDate) < Date.now()) {
129
+ throw new Error('End date must be greater than current timestamp');
130
+ }
125
131
  }
132
+ return (await this.repeat).updateRepeatableJob(name, data, Object.assign(Object.assign({}, this.jobsOpts), opts), { override: true });
126
133
  }
127
- return (await this.repeat).updateRepeatableJob(name, data, Object.assign(Object.assign({}, this.jobsOpts), opts), { override: true });
128
- }
129
- else {
130
- const jobId = opts === null || opts === void 0 ? void 0 : opts.jobId;
131
- if (jobId == '0' || (jobId === null || jobId === void 0 ? void 0 : jobId.startsWith('0:'))) {
132
- throw new Error("JobId cannot be '0' or start with 0:");
134
+ else {
135
+ const jobId = opts === null || opts === void 0 ? void 0 : opts.jobId;
136
+ if (jobId == '0' || (jobId === null || jobId === void 0 ? void 0 : jobId.startsWith('0:'))) {
137
+ throw new Error("JobId cannot be '0' or start with 0:");
138
+ }
139
+ const job = await this.Job.create(this, name, data, Object.assign(Object.assign(Object.assign({}, this.jobsOpts), opts), { jobId }));
140
+ this.emit('waiting', job);
141
+ span === null || span === void 0 ? void 0 : span.setAttributes({
142
+ [enums_1.TelemetryAttributes.JobId]: job.id,
143
+ });
144
+ return job;
133
145
  }
134
- const job = await this.Job.create(this, name, data, Object.assign(Object.assign(Object.assign({}, this.jobsOpts), opts), { jobId }));
135
- this.emit('waiting', job);
136
- return job;
137
- }
146
+ });
138
147
  }
139
148
  /**
140
149
  * Adds an array of jobs to the queue. This method may be faster than adding
@@ -143,15 +152,23 @@ class Queue extends queue_getters_1.QueueGetters {
143
152
  * @param jobs - The array of jobs to add to the queue. Each job is defined by 3
144
153
  * properties, 'name', 'data' and 'opts'. They follow the same signature as 'Queue.add'.
145
154
  */
146
- addBulk(jobs) {
147
- return this.Job.createBulk(this, jobs.map(job => {
148
- var _a;
149
- return ({
150
- name: job.name,
151
- data: job.data,
152
- opts: Object.assign(Object.assign(Object.assign({}, this.jobsOpts), job.opts), { jobId: (_a = job.opts) === null || _a === void 0 ? void 0 : _a.jobId }),
153
- });
154
- }));
155
+ async addBulk(jobs) {
156
+ return this.trace(enums_1.SpanKind.PRODUCER, 'addBulk', this.name, async (span, srcPropagationMedatada) => {
157
+ if (span) {
158
+ span.setAttributes({
159
+ [enums_1.TelemetryAttributes.BulkNames]: jobs.map(job => job.name),
160
+ [enums_1.TelemetryAttributes.BulkCount]: jobs.length,
161
+ });
162
+ }
163
+ return await this.Job.createBulk(this, jobs.map(job => {
164
+ var _a;
165
+ return ({
166
+ name: job.name,
167
+ data: job.data,
168
+ opts: Object.assign(Object.assign(Object.assign({}, this.jobsOpts), job.opts), { jobId: (_a = job.opts) === null || _a === void 0 ? void 0 : _a.jobId, tm: span && srcPropagationMedatada }),
169
+ });
170
+ }));
171
+ });
155
172
  }
156
173
  /**
157
174
  * Upserts a scheduler.
@@ -188,20 +205,24 @@ class Queue extends queue_getters_1.QueueGetters {
188
205
  * and in that case it will add it there instead of the wait list.
189
206
  */
190
207
  async pause() {
191
- await this.scripts.pause(true);
192
- this.emit('paused');
208
+ await this.trace(enums_1.SpanKind.INTERNAL, 'pause', this.name, async () => {
209
+ await this.scripts.pause(true);
210
+ this.emit('paused');
211
+ });
193
212
  }
194
213
  /**
195
214
  * Close the queue instance.
196
215
  *
197
216
  */
198
217
  async close() {
199
- if (!this.closing) {
200
- if (this._repeat) {
201
- await this._repeat.close();
218
+ await this.trace(enums_1.SpanKind.INTERNAL, 'close', this.name, async () => {
219
+ if (!this.closing) {
220
+ if (this._repeat) {
221
+ await this._repeat.close();
222
+ }
202
223
  }
203
- }
204
- return super.close();
224
+ await super.close();
225
+ });
205
226
  }
206
227
  /**
207
228
  * Resumes the processing of this queue globally.
@@ -210,8 +231,10 @@ class Queue extends queue_getters_1.QueueGetters {
210
231
  * queue.
211
232
  */
212
233
  async resume() {
213
- await this.scripts.pause(false);
214
- this.emit('resumed');
234
+ await this.trace(enums_1.SpanKind.INTERNAL, 'resume', this.name, async () => {
235
+ await this.scripts.pause(false);
236
+ this.emit('resumed');
237
+ });
215
238
  }
216
239
  /**
217
240
  * Returns true if the queue is currently paused.
@@ -241,6 +264,14 @@ class Queue extends queue_getters_1.QueueGetters {
241
264
  async getRepeatableJobs(start, end, asc) {
242
265
  return (await this.repeat).getRepeatableJobs(start, end, asc);
243
266
  }
267
+ /**
268
+ * Get Job Scheduler by id
269
+ *
270
+ * @param id - identifier of scheduler.
271
+ */
272
+ async getJobScheduler(id) {
273
+ return (await this.jobScheduler).getJobScheduler(id);
274
+ }
244
275
  /**
245
276
  * Get all Job Schedulers
246
277
  *
@@ -268,9 +299,15 @@ class Queue extends queue_getters_1.QueueGetters {
268
299
  * @returns
269
300
  */
270
301
  async removeRepeatable(name, repeatOpts, jobId) {
271
- const repeat = await this.repeat;
272
- const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
273
- return !removed;
302
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeRepeatable', `${this.name}.${name}`, async (span) => {
303
+ span === null || span === void 0 ? void 0 : span.setAttributes({
304
+ [enums_1.TelemetryAttributes.JobName]: name,
305
+ [enums_1.TelemetryAttributes.JobId]: jobId,
306
+ });
307
+ const repeat = await this.repeat;
308
+ const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
309
+ return !removed;
310
+ });
274
311
  }
275
312
  /**
276
313
  *
@@ -292,8 +329,13 @@ class Queue extends queue_getters_1.QueueGetters {
292
329
  * @param id - identifier
293
330
  */
294
331
  async removeDebounceKey(id) {
295
- const client = await this.client;
296
- return client.del(`${this.keys.de}:${id}`);
332
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeDebounceKey', `${this.name}`, async (span) => {
333
+ span === null || span === void 0 ? void 0 : span.setAttributes({
334
+ [enums_1.TelemetryAttributes.JobKey]: id,
335
+ });
336
+ const client = await this.client;
337
+ return await client.del(`${this.keys.de}:${id}`);
338
+ });
297
339
  }
298
340
  /**
299
341
  * Removes a deduplication key.
@@ -301,8 +343,13 @@ class Queue extends queue_getters_1.QueueGetters {
301
343
  * @param id - identifier
302
344
  */
303
345
  async removeDeduplicationKey(id) {
304
- const client = await this.client;
305
- return client.del(`${this.keys.de}:${id}`);
346
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeDeduplicationKey', `${this.name}`, async (span) => {
347
+ span === null || span === void 0 ? void 0 : span.setAttributes({
348
+ [enums_1.TelemetryAttributes.DeduplicationKey]: id,
349
+ });
350
+ const client = await this.client;
351
+ return client.del(`${this.keys.de}:${id}`);
352
+ });
306
353
  }
307
354
  /**
308
355
  * Removes a repeatable job by its key. Note that the key is the one used
@@ -317,9 +364,14 @@ class Queue extends queue_getters_1.QueueGetters {
317
364
  * @returns
318
365
  */
319
366
  async removeRepeatableByKey(key) {
320
- const repeat = await this.repeat;
321
- const removed = await repeat.removeRepeatableByKey(key);
322
- return !removed;
367
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeRepeatableByKey', `${this.name}`, async (span) => {
368
+ span === null || span === void 0 ? void 0 : span.setAttributes({
369
+ [enums_1.TelemetryAttributes.JobKey]: key,
370
+ });
371
+ const repeat = await this.repeat;
372
+ const removed = await repeat.removeRepeatableByKey(key);
373
+ return !removed;
374
+ });
323
375
  }
324
376
  /**
325
377
  * Removes the given job from the queue as well as all its
@@ -330,8 +382,16 @@ class Queue extends queue_getters_1.QueueGetters {
330
382
  * @returns 1 if it managed to remove the job or 0 if the job or
331
383
  * any of its dependencies were locked.
332
384
  */
333
- remove(jobId, { removeChildren = true } = {}) {
334
- return this.scripts.remove(jobId, removeChildren);
385
+ async remove(jobId, { removeChildren = true } = {}) {
386
+ return this.trace(enums_1.SpanKind.INTERNAL, 'remove', this.name, async (span) => {
387
+ span === null || span === void 0 ? void 0 : span.setAttributes({
388
+ [enums_1.TelemetryAttributes.JobId]: jobId,
389
+ [enums_1.TelemetryAttributes.JobOptions]: JSON.stringify({
390
+ removeChildren,
391
+ }),
392
+ });
393
+ return await this.scripts.remove(jobId, removeChildren);
394
+ });
335
395
  }
336
396
  /**
337
397
  * Updates the given job's progress.
@@ -340,7 +400,13 @@ class Queue extends queue_getters_1.QueueGetters {
340
400
  * @param progress - Number or object to be saved as progress.
341
401
  */
342
402
  async updateJobProgress(jobId, progress) {
343
- return this.scripts.updateProgress(jobId, progress);
403
+ await this.trace(enums_1.SpanKind.INTERNAL, 'updateJobProgress', this.name, async (span) => {
404
+ span === null || span === void 0 ? void 0 : span.setAttributes({
405
+ [enums_1.TelemetryAttributes.JobId]: jobId,
406
+ [enums_1.TelemetryAttributes.JobProgress]: JSON.stringify(progress),
407
+ });
408
+ await this.scripts.updateProgress(jobId, progress);
409
+ });
344
410
  }
345
411
  /**
346
412
  * Logs one row of job's log data.
@@ -361,8 +427,13 @@ class Queue extends queue_getters_1.QueueGetters {
361
427
  * @param delayed - Pass true if it should also clean the
362
428
  * delayed jobs.
363
429
  */
364
- drain(delayed = false) {
365
- return this.scripts.drain(delayed);
430
+ async drain(delayed = false) {
431
+ await this.trace(enums_1.SpanKind.INTERNAL, 'drain', this.name, async (span) => {
432
+ span === null || span === void 0 ? void 0 : span.setAttributes({
433
+ [enums_1.TelemetryAttributes.QueueDrainDelay]: delayed,
434
+ });
435
+ await this.scripts.drain(delayed);
436
+ });
366
437
  }
367
438
  /**
368
439
  * Cleans jobs from a queue. Similar to drain but keeps jobs within a certain
@@ -375,21 +446,29 @@ class Queue extends queue_getters_1.QueueGetters {
375
446
  * @returns Id jobs from the deleted records
376
447
  */
377
448
  async clean(grace, limit, type = 'completed') {
378
- const maxCount = limit || Infinity;
379
- const maxCountPerCall = Math.min(10000, maxCount);
380
- const timestamp = Date.now() - grace;
381
- let deletedCount = 0;
382
- const deletedJobsIds = [];
383
- while (deletedCount < maxCount) {
384
- const jobsIds = await this.scripts.cleanJobsInSet(type, timestamp, maxCountPerCall);
385
- this.emit('cleaned', jobsIds, type);
386
- deletedCount += jobsIds.length;
387
- deletedJobsIds.push(...jobsIds);
388
- if (jobsIds.length < maxCountPerCall) {
389
- break;
449
+ return this.trace(enums_1.SpanKind.INTERNAL, 'clean', this.name, async (span) => {
450
+ const maxCount = limit || Infinity;
451
+ const maxCountPerCall = Math.min(10000, maxCount);
452
+ const timestamp = Date.now() - grace;
453
+ let deletedCount = 0;
454
+ const deletedJobsIds = [];
455
+ while (deletedCount < maxCount) {
456
+ const jobsIds = await this.scripts.cleanJobsInSet(type, timestamp, maxCountPerCall);
457
+ this.emit('cleaned', jobsIds, type);
458
+ deletedCount += jobsIds.length;
459
+ deletedJobsIds.push(...jobsIds);
460
+ if (jobsIds.length < maxCountPerCall) {
461
+ break;
462
+ }
390
463
  }
391
- }
392
- return deletedJobsIds;
464
+ span === null || span === void 0 ? void 0 : span.setAttributes({
465
+ [enums_1.TelemetryAttributes.QueueGrace]: grace,
466
+ [enums_1.TelemetryAttributes.JobType]: type,
467
+ [enums_1.TelemetryAttributes.QueueCleanLimit]: maxCount,
468
+ [enums_1.TelemetryAttributes.JobIds]: deletedJobsIds,
469
+ });
470
+ return deletedJobsIds;
471
+ });
393
472
  }
394
473
  /**
395
474
  * Completely destroys the queue and all of its contents irreversibly.
@@ -403,11 +482,13 @@ class Queue extends queue_getters_1.QueueGetters {
403
482
  * @param opts - Obliterate options.
404
483
  */
405
484
  async obliterate(opts) {
406
- await this.pause();
407
- let cursor = 0;
408
- do {
409
- cursor = await this.scripts.obliterate(Object.assign({ force: false, count: 1000 }, opts));
410
- } while (cursor);
485
+ await this.trace(enums_1.SpanKind.INTERNAL, 'obliterate', this.name, async () => {
486
+ await this.pause();
487
+ let cursor = 0;
488
+ do {
489
+ cursor = await this.scripts.obliterate(Object.assign({ force: false, count: 1000 }, opts));
490
+ } while (cursor);
491
+ });
411
492
  }
412
493
  /**
413
494
  * Retry all the failed or completed jobs.
@@ -420,10 +501,15 @@ class Queue extends queue_getters_1.QueueGetters {
420
501
  * @returns
421
502
  */
422
503
  async retryJobs(opts = {}) {
423
- let cursor = 0;
424
- do {
425
- cursor = await this.scripts.retryJobs(opts.state, opts.count, opts.timestamp);
426
- } while (cursor);
504
+ await this.trace(enums_1.SpanKind.PRODUCER, 'retryJobs', this.name, async (span) => {
505
+ span === null || span === void 0 ? void 0 : span.setAttributes({
506
+ [enums_1.TelemetryAttributes.QueueOptions]: JSON.stringify(opts),
507
+ });
508
+ let cursor = 0;
509
+ do {
510
+ cursor = await this.scripts.retryJobs(opts.state, opts.count, opts.timestamp);
511
+ } while (cursor);
512
+ });
427
513
  }
428
514
  /**
429
515
  * Promote all the delayed jobs.
@@ -434,10 +520,15 @@ class Queue extends queue_getters_1.QueueGetters {
434
520
  * @returns
435
521
  */
436
522
  async promoteJobs(opts = {}) {
437
- let cursor = 0;
438
- do {
439
- cursor = await this.scripts.promoteJobs(opts.count);
440
- } while (cursor);
523
+ await this.trace(enums_1.SpanKind.INTERNAL, 'promoteJobs', this.name, async (span) => {
524
+ span === null || span === void 0 ? void 0 : span.setAttributes({
525
+ [enums_1.TelemetryAttributes.QueueOptions]: JSON.stringify(opts),
526
+ });
527
+ let cursor = 0;
528
+ do {
529
+ cursor = await this.scripts.promoteJobs(opts.count);
530
+ } while (cursor);
531
+ });
441
532
  }
442
533
  /**
443
534
  * Trim the event stream to an approximately maxLength.
@@ -445,8 +536,13 @@ class Queue extends queue_getters_1.QueueGetters {
445
536
  * @param maxLength -
446
537
  */
447
538
  async trimEvents(maxLength) {
448
- const client = await this.client;
449
- return client.xtrim(this.keys.events, 'MAXLEN', '~', maxLength);
539
+ return this.trace(enums_1.SpanKind.INTERNAL, 'trimEvents', this.name, async (span) => {
540
+ span === null || span === void 0 ? void 0 : span.setAttributes({
541
+ [enums_1.TelemetryAttributes.QueueEventMaxLength]: maxLength,
542
+ });
543
+ const client = await this.client;
544
+ return await client.xtrim(this.keys.events, 'MAXLEN', '~', maxLength);
545
+ });
450
546
  }
451
547
  /**
452
548
  * Delete old priority helper key.
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/classes/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/classes/queue.ts"],"names":[],"mappings":"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"}