bullmq 5.21.2 → 5.22.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 (85) 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.js +61 -41
  5. package/dist/cjs/classes/job.js.map +1 -1
  6. package/dist/cjs/classes/queue-base.js +54 -0
  7. package/dist/cjs/classes/queue-base.js.map +1 -1
  8. package/dist/cjs/classes/queue-events.js.map +1 -1
  9. package/dist/cjs/classes/queue.js +164 -76
  10. package/dist/cjs/classes/queue.js.map +1 -1
  11. package/dist/cjs/classes/worker.js +232 -128
  12. package/dist/cjs/classes/worker.js.map +1 -1
  13. package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +2 -2
  14. package/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
  15. package/dist/cjs/commands/moveStalledJobsToWait-9.lua +3 -3
  16. package/dist/cjs/commands/moveToFinished-14.lua +2 -2
  17. package/dist/cjs/commands/updateJobOption-1.lua +26 -0
  18. package/dist/cjs/enums/index.js +1 -0
  19. package/dist/cjs/enums/index.js.map +1 -1
  20. package/dist/cjs/enums/telemetry-attributes.js +45 -0
  21. package/dist/cjs/enums/telemetry-attributes.js.map +1 -0
  22. package/dist/cjs/interfaces/index.js +1 -0
  23. package/dist/cjs/interfaces/index.js.map +1 -1
  24. package/dist/cjs/interfaces/queue-options.js.map +1 -1
  25. package/dist/cjs/interfaces/telemetry.js +3 -0
  26. package/dist/cjs/interfaces/telemetry.js.map +1 -0
  27. package/dist/cjs/scripts/index.js +1 -0
  28. package/dist/cjs/scripts/index.js.map +1 -1
  29. package/dist/cjs/scripts/moveStalledJobsToWait-9.js +9 -9
  30. package/dist/cjs/scripts/moveToFinished-14.js +8 -8
  31. package/dist/cjs/scripts/updateJobOption-1.js +30 -0
  32. package/dist/cjs/scripts/updateJobOption-1.js.map +1 -0
  33. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  34. package/dist/cjs/version.js +1 -1
  35. package/dist/esm/classes/flow-producer.js +1 -0
  36. package/dist/esm/classes/flow-producer.js.map +1 -1
  37. package/dist/esm/classes/job.d.ts +2 -0
  38. package/dist/esm/classes/job.js +61 -41
  39. package/dist/esm/classes/job.js.map +1 -1
  40. package/dist/esm/classes/queue-base.d.ts +19 -1
  41. package/dist/esm/classes/queue-base.js +54 -0
  42. package/dist/esm/classes/queue-base.js.map +1 -1
  43. package/dist/esm/classes/queue-events.js.map +1 -1
  44. package/dist/esm/classes/queue.js +164 -76
  45. package/dist/esm/classes/queue.js.map +1 -1
  46. package/dist/esm/classes/worker.d.ts +2 -1
  47. package/dist/esm/classes/worker.js +232 -128
  48. package/dist/esm/classes/worker.js.map +1 -1
  49. package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +2 -2
  50. package/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
  51. package/dist/esm/commands/moveStalledJobsToWait-9.lua +3 -3
  52. package/dist/esm/commands/moveToFinished-14.lua +2 -2
  53. package/dist/esm/commands/updateJobOption-1.lua +26 -0
  54. package/dist/esm/enums/index.d.ts +1 -0
  55. package/dist/esm/enums/index.js +1 -0
  56. package/dist/esm/enums/index.js.map +1 -1
  57. package/dist/esm/enums/telemetry-attributes.d.ts +39 -0
  58. package/dist/esm/enums/telemetry-attributes.js +42 -0
  59. package/dist/esm/enums/telemetry-attributes.js.map +1 -0
  60. package/dist/esm/interfaces/base-job-options.d.ts +4 -0
  61. package/dist/esm/interfaces/index.d.ts +1 -0
  62. package/dist/esm/interfaces/index.js +1 -0
  63. package/dist/esm/interfaces/index.js.map +1 -1
  64. package/dist/esm/interfaces/queue-options.d.ts +9 -0
  65. package/dist/esm/interfaces/queue-options.js.map +1 -1
  66. package/dist/esm/interfaces/telemetry.d.ts +150 -0
  67. package/dist/esm/interfaces/telemetry.js +2 -0
  68. package/dist/esm/interfaces/telemetry.js.map +1 -0
  69. package/dist/esm/interfaces/worker-options.d.ts +13 -0
  70. package/dist/esm/scripts/index.d.ts +1 -0
  71. package/dist/esm/scripts/index.js +1 -0
  72. package/dist/esm/scripts/index.js.map +1 -1
  73. package/dist/esm/scripts/moveStalledJobsToWait-9.js +9 -9
  74. package/dist/esm/scripts/moveToFinished-14.js +8 -8
  75. package/dist/esm/scripts/updateJobOption-1.d.ts +5 -0
  76. package/dist/esm/scripts/updateJobOption-1.js +27 -0
  77. package/dist/esm/scripts/updateJobOption-1.js.map +1 -0
  78. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  79. package/dist/esm/types/job-options.d.ts +4 -0
  80. package/dist/esm/types/minimal-queue.d.ts +1 -1
  81. package/dist/esm/version.d.ts +1 -1
  82. package/dist/esm/version.js +1 -1
  83. package/package.json +2 -2
  84. package/dist/cjs/commands/includes/removeDebounceKeyIfNeeded.lua +0 -14
  85. 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.
@@ -268,9 +291,15 @@ class Queue extends queue_getters_1.QueueGetters {
268
291
  * @returns
269
292
  */
270
293
  async removeRepeatable(name, repeatOpts, jobId) {
271
- const repeat = await this.repeat;
272
- const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
273
- return !removed;
294
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeRepeatable', `${this.name}.${name}`, async (span) => {
295
+ span === null || span === void 0 ? void 0 : span.setAttributes({
296
+ [enums_1.TelemetryAttributes.JobName]: name,
297
+ [enums_1.TelemetryAttributes.JobId]: jobId,
298
+ });
299
+ const repeat = await this.repeat;
300
+ const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
301
+ return !removed;
302
+ });
274
303
  }
275
304
  /**
276
305
  *
@@ -292,8 +321,13 @@ class Queue extends queue_getters_1.QueueGetters {
292
321
  * @param id - identifier
293
322
  */
294
323
  async removeDebounceKey(id) {
295
- const client = await this.client;
296
- return client.del(`${this.keys.de}:${id}`);
324
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeDebounceKey', `${this.name}`, async (span) => {
325
+ span === null || span === void 0 ? void 0 : span.setAttributes({
326
+ [enums_1.TelemetryAttributes.JobKey]: id,
327
+ });
328
+ const client = await this.client;
329
+ return await client.del(`${this.keys.de}:${id}`);
330
+ });
297
331
  }
298
332
  /**
299
333
  * Removes a deduplication key.
@@ -301,8 +335,13 @@ class Queue extends queue_getters_1.QueueGetters {
301
335
  * @param id - identifier
302
336
  */
303
337
  async removeDeduplicationKey(id) {
304
- const client = await this.client;
305
- return client.del(`${this.keys.de}:${id}`);
338
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeDeduplicationKey', `${this.name}`, async (span) => {
339
+ span === null || span === void 0 ? void 0 : span.setAttributes({
340
+ [enums_1.TelemetryAttributes.DeduplicationKey]: id,
341
+ });
342
+ const client = await this.client;
343
+ return client.del(`${this.keys.de}:${id}`);
344
+ });
306
345
  }
307
346
  /**
308
347
  * Removes a repeatable job by its key. Note that the key is the one used
@@ -317,9 +356,14 @@ class Queue extends queue_getters_1.QueueGetters {
317
356
  * @returns
318
357
  */
319
358
  async removeRepeatableByKey(key) {
320
- const repeat = await this.repeat;
321
- const removed = await repeat.removeRepeatableByKey(key);
322
- return !removed;
359
+ return this.trace(enums_1.SpanKind.INTERNAL, 'removeRepeatableByKey', `${this.name}`, async (span) => {
360
+ span === null || span === void 0 ? void 0 : span.setAttributes({
361
+ [enums_1.TelemetryAttributes.JobKey]: key,
362
+ });
363
+ const repeat = await this.repeat;
364
+ const removed = await repeat.removeRepeatableByKey(key);
365
+ return !removed;
366
+ });
323
367
  }
324
368
  /**
325
369
  * Removes the given job from the queue as well as all its
@@ -330,8 +374,16 @@ class Queue extends queue_getters_1.QueueGetters {
330
374
  * @returns 1 if it managed to remove the job or 0 if the job or
331
375
  * any of its dependencies were locked.
332
376
  */
333
- remove(jobId, { removeChildren = true } = {}) {
334
- return this.scripts.remove(jobId, removeChildren);
377
+ async remove(jobId, { removeChildren = true } = {}) {
378
+ return this.trace(enums_1.SpanKind.INTERNAL, 'remove', this.name, async (span) => {
379
+ span === null || span === void 0 ? void 0 : span.setAttributes({
380
+ [enums_1.TelemetryAttributes.JobId]: jobId,
381
+ [enums_1.TelemetryAttributes.JobOptions]: JSON.stringify({
382
+ removeChildren,
383
+ }),
384
+ });
385
+ return await this.scripts.remove(jobId, removeChildren);
386
+ });
335
387
  }
336
388
  /**
337
389
  * Updates the given job's progress.
@@ -340,7 +392,13 @@ class Queue extends queue_getters_1.QueueGetters {
340
392
  * @param progress - Number or object to be saved as progress.
341
393
  */
342
394
  async updateJobProgress(jobId, progress) {
343
- return this.scripts.updateProgress(jobId, progress);
395
+ await this.trace(enums_1.SpanKind.INTERNAL, 'updateJobProgress', this.name, async (span) => {
396
+ span === null || span === void 0 ? void 0 : span.setAttributes({
397
+ [enums_1.TelemetryAttributes.JobId]: jobId,
398
+ [enums_1.TelemetryAttributes.JobProgress]: JSON.stringify(progress),
399
+ });
400
+ await this.scripts.updateProgress(jobId, progress);
401
+ });
344
402
  }
345
403
  /**
346
404
  * Logs one row of job's log data.
@@ -361,8 +419,13 @@ class Queue extends queue_getters_1.QueueGetters {
361
419
  * @param delayed - Pass true if it should also clean the
362
420
  * delayed jobs.
363
421
  */
364
- drain(delayed = false) {
365
- return this.scripts.drain(delayed);
422
+ async drain(delayed = false) {
423
+ await this.trace(enums_1.SpanKind.INTERNAL, 'drain', this.name, async (span) => {
424
+ span === null || span === void 0 ? void 0 : span.setAttributes({
425
+ [enums_1.TelemetryAttributes.QueueDrainDelay]: delayed,
426
+ });
427
+ await this.scripts.drain(delayed);
428
+ });
366
429
  }
367
430
  /**
368
431
  * Cleans jobs from a queue. Similar to drain but keeps jobs within a certain
@@ -375,21 +438,29 @@ class Queue extends queue_getters_1.QueueGetters {
375
438
  * @returns Id jobs from the deleted records
376
439
  */
377
440
  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;
441
+ return this.trace(enums_1.SpanKind.INTERNAL, 'clean', this.name, async (span) => {
442
+ const maxCount = limit || Infinity;
443
+ const maxCountPerCall = Math.min(10000, maxCount);
444
+ const timestamp = Date.now() - grace;
445
+ let deletedCount = 0;
446
+ const deletedJobsIds = [];
447
+ while (deletedCount < maxCount) {
448
+ const jobsIds = await this.scripts.cleanJobsInSet(type, timestamp, maxCountPerCall);
449
+ this.emit('cleaned', jobsIds, type);
450
+ deletedCount += jobsIds.length;
451
+ deletedJobsIds.push(...jobsIds);
452
+ if (jobsIds.length < maxCountPerCall) {
453
+ break;
454
+ }
390
455
  }
391
- }
392
- return deletedJobsIds;
456
+ span === null || span === void 0 ? void 0 : span.setAttributes({
457
+ [enums_1.TelemetryAttributes.QueueGrace]: grace,
458
+ [enums_1.TelemetryAttributes.JobType]: type,
459
+ [enums_1.TelemetryAttributes.QueueCleanLimit]: maxCount,
460
+ [enums_1.TelemetryAttributes.JobIds]: deletedJobsIds,
461
+ });
462
+ return deletedJobsIds;
463
+ });
393
464
  }
394
465
  /**
395
466
  * Completely destroys the queue and all of its contents irreversibly.
@@ -403,11 +474,13 @@ class Queue extends queue_getters_1.QueueGetters {
403
474
  * @param opts - Obliterate options.
404
475
  */
405
476
  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);
477
+ await this.trace(enums_1.SpanKind.INTERNAL, 'obliterate', this.name, async () => {
478
+ await this.pause();
479
+ let cursor = 0;
480
+ do {
481
+ cursor = await this.scripts.obliterate(Object.assign({ force: false, count: 1000 }, opts));
482
+ } while (cursor);
483
+ });
411
484
  }
412
485
  /**
413
486
  * Retry all the failed or completed jobs.
@@ -420,10 +493,15 @@ class Queue extends queue_getters_1.QueueGetters {
420
493
  * @returns
421
494
  */
422
495
  async retryJobs(opts = {}) {
423
- let cursor = 0;
424
- do {
425
- cursor = await this.scripts.retryJobs(opts.state, opts.count, opts.timestamp);
426
- } while (cursor);
496
+ await this.trace(enums_1.SpanKind.PRODUCER, 'retryJobs', this.name, async (span) => {
497
+ span === null || span === void 0 ? void 0 : span.setAttributes({
498
+ [enums_1.TelemetryAttributes.QueueOptions]: JSON.stringify(opts),
499
+ });
500
+ let cursor = 0;
501
+ do {
502
+ cursor = await this.scripts.retryJobs(opts.state, opts.count, opts.timestamp);
503
+ } while (cursor);
504
+ });
427
505
  }
428
506
  /**
429
507
  * Promote all the delayed jobs.
@@ -434,10 +512,15 @@ class Queue extends queue_getters_1.QueueGetters {
434
512
  * @returns
435
513
  */
436
514
  async promoteJobs(opts = {}) {
437
- let cursor = 0;
438
- do {
439
- cursor = await this.scripts.promoteJobs(opts.count);
440
- } while (cursor);
515
+ await this.trace(enums_1.SpanKind.INTERNAL, 'promoteJobs', this.name, async (span) => {
516
+ span === null || span === void 0 ? void 0 : span.setAttributes({
517
+ [enums_1.TelemetryAttributes.QueueOptions]: JSON.stringify(opts),
518
+ });
519
+ let cursor = 0;
520
+ do {
521
+ cursor = await this.scripts.promoteJobs(opts.count);
522
+ } while (cursor);
523
+ });
441
524
  }
442
525
  /**
443
526
  * Trim the event stream to an approximately maxLength.
@@ -445,8 +528,13 @@ class Queue extends queue_getters_1.QueueGetters {
445
528
  * @param maxLength -
446
529
  */
447
530
  async trimEvents(maxLength) {
448
- const client = await this.client;
449
- return client.xtrim(this.keys.events, 'MAXLEN', '~', maxLength);
531
+ return this.trace(enums_1.SpanKind.INTERNAL, 'trimEvents', this.name, async (span) => {
532
+ span === null || span === void 0 ? void 0 : span.setAttributes({
533
+ [enums_1.TelemetryAttributes.QueueEventMaxLength]: maxLength,
534
+ });
535
+ const client = await this.client;
536
+ return await client.xtrim(this.keys.events, 'MAXLEN', '~', maxLength);
537
+ });
450
538
  }
451
539
  /**
452
540
  * 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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"}