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.
- package/README.md +21 -21
- package/dist/cjs/classes/flow-producer.js +1 -0
- package/dist/cjs/classes/flow-producer.js.map +1 -1
- package/dist/cjs/classes/job.js +61 -41
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/queue-base.js +54 -0
- package/dist/cjs/classes/queue-base.js.map +1 -1
- package/dist/cjs/classes/queue-events.js.map +1 -1
- package/dist/cjs/classes/queue.js +164 -76
- package/dist/cjs/classes/queue.js.map +1 -1
- package/dist/cjs/classes/worker.js +232 -128
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +2 -2
- package/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
- package/dist/cjs/commands/moveStalledJobsToWait-9.lua +3 -3
- package/dist/cjs/commands/moveToFinished-14.lua +2 -2
- package/dist/cjs/commands/updateJobOption-1.lua +26 -0
- package/dist/cjs/enums/index.js +1 -0
- package/dist/cjs/enums/index.js.map +1 -1
- package/dist/cjs/enums/telemetry-attributes.js +45 -0
- package/dist/cjs/enums/telemetry-attributes.js.map +1 -0
- package/dist/cjs/interfaces/index.js +1 -0
- package/dist/cjs/interfaces/index.js.map +1 -1
- package/dist/cjs/interfaces/queue-options.js.map +1 -1
- package/dist/cjs/interfaces/telemetry.js +3 -0
- package/dist/cjs/interfaces/telemetry.js.map +1 -0
- package/dist/cjs/scripts/index.js +1 -0
- package/dist/cjs/scripts/index.js.map +1 -1
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js +9 -9
- package/dist/cjs/scripts/moveToFinished-14.js +8 -8
- package/dist/cjs/scripts/updateJobOption-1.js +30 -0
- package/dist/cjs/scripts/updateJobOption-1.js.map +1 -0
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/classes/flow-producer.js +1 -0
- package/dist/esm/classes/flow-producer.js.map +1 -1
- package/dist/esm/classes/job.d.ts +2 -0
- package/dist/esm/classes/job.js +61 -41
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/queue-base.d.ts +19 -1
- package/dist/esm/classes/queue-base.js +54 -0
- package/dist/esm/classes/queue-base.js.map +1 -1
- package/dist/esm/classes/queue-events.js.map +1 -1
- package/dist/esm/classes/queue.js +164 -76
- package/dist/esm/classes/queue.js.map +1 -1
- package/dist/esm/classes/worker.d.ts +2 -1
- package/dist/esm/classes/worker.js +232 -128
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +2 -2
- package/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
- package/dist/esm/commands/moveStalledJobsToWait-9.lua +3 -3
- package/dist/esm/commands/moveToFinished-14.lua +2 -2
- package/dist/esm/commands/updateJobOption-1.lua +26 -0
- package/dist/esm/enums/index.d.ts +1 -0
- package/dist/esm/enums/index.js +1 -0
- package/dist/esm/enums/index.js.map +1 -1
- package/dist/esm/enums/telemetry-attributes.d.ts +39 -0
- package/dist/esm/enums/telemetry-attributes.js +42 -0
- package/dist/esm/enums/telemetry-attributes.js.map +1 -0
- package/dist/esm/interfaces/base-job-options.d.ts +4 -0
- package/dist/esm/interfaces/index.d.ts +1 -0
- package/dist/esm/interfaces/index.js +1 -0
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/interfaces/queue-options.d.ts +9 -0
- package/dist/esm/interfaces/queue-options.js.map +1 -1
- package/dist/esm/interfaces/telemetry.d.ts +150 -0
- package/dist/esm/interfaces/telemetry.js +2 -0
- package/dist/esm/interfaces/telemetry.js.map +1 -0
- package/dist/esm/interfaces/worker-options.d.ts +13 -0
- package/dist/esm/scripts/index.d.ts +1 -0
- package/dist/esm/scripts/index.js +1 -0
- package/dist/esm/scripts/index.js.map +1 -1
- package/dist/esm/scripts/moveStalledJobsToWait-9.js +9 -9
- package/dist/esm/scripts/moveToFinished-14.js +8 -8
- package/dist/esm/scripts/updateJobOption-1.d.ts +5 -0
- package/dist/esm/scripts/updateJobOption-1.js +27 -0
- package/dist/esm/scripts/updateJobOption-1.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/types/job-options.d.ts +4 -0
- package/dist/esm/types/minimal-queue.d.ts +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/commands/includes/removeDebounceKeyIfNeeded.lua +0 -14
- package/dist/esm/commands/includes/removeDebounceKeyIfNeeded.lua +0 -14
@@ -16,6 +16,7 @@ const redis_connection_1 = require("./redis-connection");
|
|
16
16
|
const sandbox_1 = require("./sandbox");
|
17
17
|
const async_fifo_queue_1 = require("./async-fifo-queue");
|
18
18
|
const errors_1 = require("./errors");
|
19
|
+
const enums_1 = require("../enums");
|
19
20
|
const job_scheduler_1 = require("./job-scheduler");
|
20
21
|
// 10 seconds is the maximum time a BRPOPLPUSH can block.
|
21
22
|
const maximumBlockTimeout = 10;
|
@@ -237,7 +238,7 @@ class Worker extends queue_base_1.QueueBase {
|
|
237
238
|
}
|
238
239
|
}
|
239
240
|
this.running = false;
|
240
|
-
return asyncFifoQueue.waitAll();
|
241
|
+
return await asyncFifoQueue.waitAll();
|
241
242
|
}
|
242
243
|
catch (error) {
|
243
244
|
this.running = false;
|
@@ -250,7 +251,17 @@ class Worker extends queue_base_1.QueueBase {
|
|
250
251
|
* @returns a Job or undefined if no job was available in the queue.
|
251
252
|
*/
|
252
253
|
async getNextJob(token, { block = true } = {}) {
|
253
|
-
|
254
|
+
const nextJob = await this._getNextJob(await this.client, await this.blockingConnection.client, token, { block });
|
255
|
+
return this.trace(enums_1.SpanKind.INTERNAL, 'getNextJob', this.name, async (span) => {
|
256
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
257
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
258
|
+
[enums_1.TelemetryAttributes.QueueName]: this.name,
|
259
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
260
|
+
[enums_1.TelemetryAttributes.WorkerOptions]: JSON.stringify({ block }),
|
261
|
+
[enums_1.TelemetryAttributes.JobId]: nextJob === null || nextJob === void 0 ? void 0 : nextJob.id,
|
262
|
+
});
|
263
|
+
return nextJob;
|
264
|
+
}, nextJob === null || nextJob === void 0 ? void 0 : nextJob.opts.telemetryMetadata);
|
254
265
|
}
|
255
266
|
async _getNextJob(client, bclient, token, { block = true } = {}) {
|
256
267
|
var _a;
|
@@ -300,7 +311,13 @@ class Worker extends queue_base_1.QueueBase {
|
|
300
311
|
* @param expireTimeMs - expire time in ms of this rate limit.
|
301
312
|
*/
|
302
313
|
async rateLimit(expireTimeMs) {
|
303
|
-
await this.
|
314
|
+
await this.trace(enums_1.SpanKind.INTERNAL, 'rateLimit', this.name, async (span) => {
|
315
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
316
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
317
|
+
[enums_1.TelemetryAttributes.WorkerRateLimit]: expireTimeMs,
|
318
|
+
});
|
319
|
+
await this.client.then(client => client.set(this.keys.limiter, Number.MAX_SAFE_INTEGER, 'PX', expireTimeMs));
|
320
|
+
});
|
304
321
|
}
|
305
322
|
get minimumBlockTimeout() {
|
306
323
|
return this.blockingConnection.capabilities.canBlockFor1Ms
|
@@ -431,74 +448,103 @@ class Worker extends queue_base_1.QueueBase {
|
|
431
448
|
if (!job || this.closing || this.paused) {
|
432
449
|
return;
|
433
450
|
}
|
434
|
-
const
|
435
|
-
|
436
|
-
|
437
|
-
this.
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
451
|
+
const { telemetryMetadata: srcPropagationMedatada } = job.opts;
|
452
|
+
return this.trace(enums_1.SpanKind.CONSUMER, 'process', this.name, async (span) => {
|
453
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
454
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
455
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
456
|
+
[enums_1.TelemetryAttributes.JobId]: job.id,
|
457
|
+
});
|
458
|
+
const handleCompleted = async (result) => {
|
459
|
+
if (!this.connection.closing) {
|
460
|
+
const completed = await job.moveToCompleted(result, token, fetchNextCallback() && !(this.closing || this.paused));
|
461
|
+
this.emit('completed', job, result, 'active');
|
462
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job completed', {
|
463
|
+
[enums_1.TelemetryAttributes.JobResult]: JSON.stringify(result),
|
464
|
+
});
|
465
|
+
const [jobData, jobId, limitUntil, delayUntil] = completed || [];
|
466
|
+
this.updateDelays(limitUntil, delayUntil);
|
467
|
+
return this.nextJobFromJobData(jobData, jobId, token);
|
468
|
+
}
|
469
|
+
};
|
470
|
+
const handleFailed = async (err) => {
|
471
|
+
if (!this.connection.closing) {
|
472
|
+
try {
|
473
|
+
// Check if the job was manually rate-limited
|
474
|
+
if (err.message == errors_1.RATE_LIMIT_ERROR) {
|
475
|
+
this.limitUntil = await this.moveLimitedBackToWait(job, token);
|
476
|
+
return;
|
477
|
+
}
|
478
|
+
if (err instanceof errors_1.DelayedError ||
|
479
|
+
err.name == 'DelayedError' ||
|
480
|
+
err instanceof errors_1.WaitingChildrenError ||
|
481
|
+
err.name == 'WaitingChildrenError') {
|
482
|
+
return;
|
483
|
+
}
|
484
|
+
const result = await job.moveToFailed(err, token, true);
|
485
|
+
this.emit('failed', job, err, 'active');
|
486
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job failed', {
|
487
|
+
[enums_1.TelemetryAttributes.JobFailedReason]: err.message,
|
488
|
+
});
|
489
|
+
if (result) {
|
490
|
+
const [jobData, jobId, limitUntil, delayUntil] = result;
|
491
|
+
this.updateDelays(limitUntil, delayUntil);
|
492
|
+
return this.nextJobFromJobData(jobData, jobId, token);
|
493
|
+
}
|
455
494
|
}
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
495
|
+
catch (err) {
|
496
|
+
this.emit('error', err);
|
497
|
+
// It probably means that the job has lost the lock before completion
|
498
|
+
// A worker will (or already has) moved the job back
|
499
|
+
// to the waiting list (as stalled)
|
500
|
+
span === null || span === void 0 ? void 0 : span.recordException(err.message);
|
462
501
|
}
|
463
502
|
}
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
503
|
+
};
|
504
|
+
this.emit('active', job, 'waiting');
|
505
|
+
const processedOn = Date.now();
|
506
|
+
const inProgressItem = { job, ts: processedOn };
|
507
|
+
try {
|
508
|
+
jobsInProgress.add(inProgressItem);
|
509
|
+
const result = await this.callProcessJob(job, token);
|
510
|
+
return await handleCompleted(result);
|
470
511
|
}
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
jobsInProgress.delete(inProgressItem);
|
484
|
-
}
|
512
|
+
catch (err) {
|
513
|
+
const failed = await handleFailed(err);
|
514
|
+
return failed;
|
515
|
+
}
|
516
|
+
finally {
|
517
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
518
|
+
[enums_1.TelemetryAttributes.JobFinishedTimestamp]: Date.now(),
|
519
|
+
[enums_1.TelemetryAttributes.JobProcessedTimestamp]: processedOn,
|
520
|
+
});
|
521
|
+
jobsInProgress.delete(inProgressItem);
|
522
|
+
}
|
523
|
+
}, srcPropagationMedatada);
|
485
524
|
}
|
486
525
|
/**
|
487
526
|
*
|
488
527
|
* Pauses the processing of this queue only for this worker.
|
489
528
|
*/
|
490
529
|
async pause(doNotWaitActive) {
|
491
|
-
|
492
|
-
|
493
|
-
this.
|
494
|
-
|
495
|
-
|
496
|
-
this.resumeWorker = null;
|
497
|
-
};
|
530
|
+
await this.trace(enums_1.SpanKind.INTERNAL, 'pause', this.name, async (span) => {
|
531
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
532
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
533
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
534
|
+
[enums_1.TelemetryAttributes.WorkerDoNotWaitActive]: doNotWaitActive,
|
498
535
|
});
|
499
|
-
|
500
|
-
|
501
|
-
|
536
|
+
if (!this.paused) {
|
537
|
+
this.paused = new Promise(resolve => {
|
538
|
+
this.resumeWorker = function () {
|
539
|
+
resolve();
|
540
|
+
this.paused = null; // Allow pause to be checked externally for paused state.
|
541
|
+
this.resumeWorker = null;
|
542
|
+
};
|
543
|
+
});
|
544
|
+
await (!doNotWaitActive && this.whenCurrentJobsFinished());
|
545
|
+
this.emit('paused');
|
546
|
+
}
|
547
|
+
});
|
502
548
|
}
|
503
549
|
/**
|
504
550
|
*
|
@@ -506,8 +552,14 @@ class Worker extends queue_base_1.QueueBase {
|
|
506
552
|
*/
|
507
553
|
resume() {
|
508
554
|
if (this.resumeWorker) {
|
509
|
-
this.
|
510
|
-
|
555
|
+
this.trace(enums_1.SpanKind.INTERNAL, 'resume', this.name, span => {
|
556
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
557
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
558
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
559
|
+
});
|
560
|
+
this.resumeWorker();
|
561
|
+
this.emit('resumed');
|
562
|
+
});
|
511
563
|
}
|
512
564
|
}
|
513
565
|
/**
|
@@ -539,39 +591,47 @@ class Worker extends queue_base_1.QueueBase {
|
|
539
591
|
*
|
540
592
|
* @returns Promise that resolves when the worker has been closed.
|
541
593
|
*/
|
542
|
-
close(force = false) {
|
594
|
+
async close(force = false) {
|
543
595
|
if (this.closing) {
|
544
596
|
return this.closing;
|
545
597
|
}
|
546
|
-
this.
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
598
|
+
await this.trace(enums_1.SpanKind.INTERNAL, 'close', this.name, async (span) => {
|
599
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
600
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
601
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
602
|
+
[enums_1.TelemetryAttributes.WorkerForceClose]: force,
|
603
|
+
});
|
604
|
+
this.closing = (async () => {
|
605
|
+
var _a, _b;
|
606
|
+
this.emit('closing', 'closing queue');
|
607
|
+
(_a = this.abortDelayController) === null || _a === void 0 ? void 0 : _a.abort();
|
608
|
+
this.resume();
|
609
|
+
// Define the async cleanup functions
|
610
|
+
const asyncCleanups = [
|
611
|
+
() => {
|
612
|
+
return force || this.whenCurrentJobsFinished(false);
|
613
|
+
},
|
614
|
+
() => { var _a; return (_a = this.childPool) === null || _a === void 0 ? void 0 : _a.clean(); },
|
615
|
+
() => this.blockingConnection.close(force),
|
616
|
+
() => this.connection.close(force),
|
617
|
+
];
|
618
|
+
// Run cleanup functions sequentially and make sure all are run despite any errors
|
619
|
+
for (const cleanup of asyncCleanups) {
|
620
|
+
try {
|
621
|
+
await cleanup();
|
622
|
+
}
|
623
|
+
catch (err) {
|
624
|
+
this.emit('error', err);
|
625
|
+
}
|
567
626
|
}
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
627
|
+
clearTimeout(this.extendLocksTimer);
|
628
|
+
//clearTimeout(this.stalledCheckTimer);
|
629
|
+
(_b = this.stalledCheckStopper) === null || _b === void 0 ? void 0 : _b.call(this);
|
630
|
+
this.closed = true;
|
631
|
+
this.emit('closed');
|
632
|
+
})();
|
633
|
+
return await this.closing;
|
634
|
+
});
|
575
635
|
}
|
576
636
|
/**
|
577
637
|
*
|
@@ -587,20 +647,36 @@ class Worker extends queue_base_1.QueueBase {
|
|
587
647
|
*/
|
588
648
|
async startStalledCheckTimer() {
|
589
649
|
if (!this.opts.skipStalledCheck) {
|
590
|
-
clearTimeout(this.stalledCheckTimer);
|
591
650
|
if (!this.closing) {
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
}
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
}
|
651
|
+
await this.trace(enums_1.SpanKind.INTERNAL, 'startStalledCheckTimer', this.name, async (span) => {
|
652
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
653
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
654
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
655
|
+
});
|
656
|
+
this.stalledChecker().catch(err => {
|
657
|
+
this.emit('error', err);
|
658
|
+
});
|
659
|
+
});
|
601
660
|
}
|
602
661
|
}
|
603
662
|
}
|
663
|
+
async stalledChecker() {
|
664
|
+
while (!this.closing) {
|
665
|
+
try {
|
666
|
+
await this.checkConnectionError(() => this.moveStalledJobsToWait());
|
667
|
+
}
|
668
|
+
catch (err) {
|
669
|
+
this.emit('error', err);
|
670
|
+
}
|
671
|
+
await new Promise(resolve => {
|
672
|
+
const timeout = setTimeout(resolve, this.opts.stalledInterval);
|
673
|
+
this.stalledCheckStopper = () => {
|
674
|
+
clearTimeout(timeout);
|
675
|
+
resolve();
|
676
|
+
};
|
677
|
+
});
|
678
|
+
}
|
679
|
+
}
|
604
680
|
startLockExtenderTimer(jobsInProgress) {
|
605
681
|
if (!this.opts.skipLockRenewal) {
|
606
682
|
clearTimeout(this.extendLocksTimer);
|
@@ -672,39 +748,67 @@ class Worker extends queue_base_1.QueueBase {
|
|
672
748
|
} while (retry);
|
673
749
|
}
|
674
750
|
async extendLocks(jobs) {
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
this.
|
751
|
+
await this.trace(enums_1.SpanKind.INTERNAL, 'extendLocks', this.name, async (span) => {
|
752
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
753
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
754
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
755
|
+
[enums_1.TelemetryAttributes.WorkerJobsToExtendLocks]: jobs.map(job => job.id),
|
756
|
+
});
|
757
|
+
try {
|
758
|
+
const pipeline = (await this.client).pipeline();
|
759
|
+
for (const job of jobs) {
|
760
|
+
await this.scripts.extendLock(job.id, job.token, this.opts.lockDuration, pipeline);
|
761
|
+
}
|
762
|
+
const result = (await pipeline.exec());
|
763
|
+
for (const [err, jobId] of result) {
|
764
|
+
if (err) {
|
765
|
+
// TODO: signal process function that the job has been lost.
|
766
|
+
this.emit('error', new Error(`could not renew lock for job ${jobId}`));
|
767
|
+
}
|
685
768
|
}
|
686
769
|
}
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
}
|
770
|
+
catch (err) {
|
771
|
+
this.emit('error', err);
|
772
|
+
}
|
773
|
+
});
|
691
774
|
}
|
692
775
|
async moveStalledJobsToWait() {
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
776
|
+
await this.trace(enums_1.SpanKind.INTERNAL, 'moveStalledJobsToWait', this.name, async (span) => {
|
777
|
+
const chunkSize = 50;
|
778
|
+
const [failed, stalled] = await this.scripts.moveStalledJobsToWait();
|
779
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
780
|
+
[enums_1.TelemetryAttributes.WorkerId]: this.id,
|
781
|
+
[enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
|
782
|
+
[enums_1.TelemetryAttributes.WorkerStalledJobs]: stalled,
|
783
|
+
[enums_1.TelemetryAttributes.WorkerFailedJobs]: failed,
|
784
|
+
});
|
785
|
+
stalled.forEach((jobId) => {
|
786
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job stalled', {
|
787
|
+
[enums_1.TelemetryAttributes.JobId]: jobId,
|
788
|
+
});
|
789
|
+
this.emit('stalled', jobId, 'active');
|
790
|
+
});
|
791
|
+
const jobPromises = [];
|
792
|
+
for (let i = 0; i < failed.length; i++) {
|
793
|
+
jobPromises.push(job_1.Job.fromId(this, failed[i]));
|
794
|
+
if ((i + 1) % chunkSize === 0) {
|
795
|
+
this.notifyFailedJobs(await Promise.all(jobPromises));
|
796
|
+
jobPromises.length = 0;
|
797
|
+
}
|
702
798
|
}
|
703
|
-
|
704
|
-
|
799
|
+
this.notifyFailedJobs(await Promise.all(jobPromises));
|
800
|
+
});
|
705
801
|
}
|
706
|
-
notifyFailedJobs(failedJobs) {
|
707
|
-
|
802
|
+
notifyFailedJobs(failedJobs, span) {
|
803
|
+
const failedReason = 'job stalled more than allowable limit';
|
804
|
+
failedJobs.forEach((job) => {
|
805
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job failed', {
|
806
|
+
[enums_1.TelemetryAttributes.JobId]: job.id,
|
807
|
+
[enums_1.TelemetryAttributes.JobName]: job.name,
|
808
|
+
[enums_1.TelemetryAttributes.JobFailedReason]: failedReason,
|
809
|
+
});
|
810
|
+
this.emit('failed', job, new Error(failedReason), 'active');
|
811
|
+
});
|
708
812
|
}
|
709
813
|
moveLimitedBackToWait(job, token) {
|
710
814
|
return this.scripts.moveJobFromActiveToWait(job.id, token);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/classes/worker.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/classes/worker.ts"],"names":[],"mappings":"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"}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
-- Includes
|
6
6
|
--- @include "moveParentToWaitIfNeeded"
|
7
|
-
--- @include "
|
7
|
+
--- @include "removeDeduplicationKeyIfNeeded"
|
8
8
|
|
9
9
|
local function moveParentFromWaitingChildrenToFailed( parentQueueKey, parentKey, parentId, jobIdKey, timestamp)
|
10
10
|
if rcall("ZREM", parentQueueKey .. ":waiting-children", parentId) == 1 then
|
@@ -16,7 +16,7 @@ local function moveParentFromWaitingChildrenToFailed( parentQueueKey, parentKey,
|
|
16
16
|
|
17
17
|
local jobAttributes = rcall("HMGET", parentKey, "parent", "deid")
|
18
18
|
|
19
|
-
|
19
|
+
removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
|
20
20
|
|
21
21
|
if jobAttributes[1] then
|
22
22
|
local parentData = cjson.decode(jobAttributes[1])
|
@@ -0,0 +1,14 @@
|
|
1
|
+
--[[
|
2
|
+
Function to remove deduplication key if needed.
|
3
|
+
]]
|
4
|
+
|
5
|
+
local function removeDeduplicationKeyIfNeeded(prefixKey, deduplicationId)
|
6
|
+
if deduplicationId then
|
7
|
+
local deduplicationKey = prefixKey .. "de:" .. deduplicationId
|
8
|
+
local pttl = rcall("PTTL", deduplicationKey)
|
9
|
+
|
10
|
+
if pttl == 0 or pttl == -1 then
|
11
|
+
rcall("DEL", deduplicationKey)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -29,7 +29,7 @@ local rcall = redis.call
|
|
29
29
|
--- @include "includes/getTargetQueueList"
|
30
30
|
--- @include "includes/moveParentFromWaitingChildrenToFailed"
|
31
31
|
--- @include "includes/moveParentToWaitIfNeeded"
|
32
|
-
--- @include "includes/
|
32
|
+
--- @include "includes/removeDeduplicationKeyIfNeeded"
|
33
33
|
--- @include "includes/removeJob"
|
34
34
|
--- @include "includes/removeJobsByMaxAge"
|
35
35
|
--- @include "includes/removeJobsByMaxCount"
|
@@ -88,7 +88,7 @@ if (#stalling > 0) then
|
|
88
88
|
local opts = cjson.decode(rawOpts)
|
89
89
|
local removeOnFailType = type(opts["removeOnFail"])
|
90
90
|
rcall("ZADD", failedKey, timestamp, jobId)
|
91
|
-
|
91
|
+
removeDeduplicationKeyIfNeeded(queueKeyPrefix, jobAttributes[3])
|
92
92
|
|
93
93
|
local failedReason =
|
94
94
|
"job stalled more than allowable limit"
|
@@ -149,7 +149,7 @@ if (#stalling > 0) then
|
|
149
149
|
|
150
150
|
table.insert(failed, jobId)
|
151
151
|
else
|
152
|
-
local target, isPausedOrMaxed=
|
152
|
+
local target, isPausedOrMaxed =
|
153
153
|
getTargetQueueList(metaKey, activeKey, waitKey, pausedKey)
|
154
154
|
|
155
155
|
-- Move the job back to the wait queue, to immediately be picked up by a waiting worker.
|