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
@@ -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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"}
|
@@ -108,7 +108,7 @@ export declare class Worker<DataType = any, ResultType = any, NameType extends s
|
|
108
108
|
private extendLocksTimer;
|
109
109
|
private limitUntil;
|
110
110
|
private resumeWorker;
|
111
|
-
private
|
111
|
+
private stalledCheckStopper?;
|
112
112
|
private waiting;
|
113
113
|
private _repeat;
|
114
114
|
private _jobScheduler;
|
@@ -212,6 +212,7 @@ export declare class Worker<DataType = any, ResultType = any, NameType extends s
|
|
212
212
|
* @see {@link https://docs.bullmq.io/patterns/manually-fetching-jobs}
|
213
213
|
*/
|
214
214
|
startStalledCheckTimer(): Promise<void>;
|
215
|
+
private stalledChecker;
|
215
216
|
private startLockExtenderTimer;
|
216
217
|
/**
|
217
218
|
* Returns a promise that resolves when active jobs are cleared
|
@@ -13,6 +13,7 @@ import { RedisConnection } from './redis-connection';
|
|
13
13
|
import sandbox from './sandbox';
|
14
14
|
import { AsyncFifoQueue } from './async-fifo-queue';
|
15
15
|
import { DelayedError, RateLimitError, RATE_LIMIT_ERROR, WaitingChildrenError, } from './errors';
|
16
|
+
import { SpanKind, TelemetryAttributes } from '../enums';
|
16
17
|
import { JobScheduler } from './job-scheduler';
|
17
18
|
// 10 seconds is the maximum time a BRPOPLPUSH can block.
|
18
19
|
const maximumBlockTimeout = 10;
|
@@ -234,7 +235,7 @@ export class Worker extends QueueBase {
|
|
234
235
|
}
|
235
236
|
}
|
236
237
|
this.running = false;
|
237
|
-
return asyncFifoQueue.waitAll();
|
238
|
+
return await asyncFifoQueue.waitAll();
|
238
239
|
}
|
239
240
|
catch (error) {
|
240
241
|
this.running = false;
|
@@ -247,7 +248,17 @@ export class Worker extends QueueBase {
|
|
247
248
|
* @returns a Job or undefined if no job was available in the queue.
|
248
249
|
*/
|
249
250
|
async getNextJob(token, { block = true } = {}) {
|
250
|
-
|
251
|
+
const nextJob = await this._getNextJob(await this.client, await this.blockingConnection.client, token, { block });
|
252
|
+
return this.trace(SpanKind.INTERNAL, 'getNextJob', this.name, async (span) => {
|
253
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
254
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
255
|
+
[TelemetryAttributes.QueueName]: this.name,
|
256
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
257
|
+
[TelemetryAttributes.WorkerOptions]: JSON.stringify({ block }),
|
258
|
+
[TelemetryAttributes.JobId]: nextJob === null || nextJob === void 0 ? void 0 : nextJob.id,
|
259
|
+
});
|
260
|
+
return nextJob;
|
261
|
+
}, nextJob === null || nextJob === void 0 ? void 0 : nextJob.opts.telemetryMetadata);
|
251
262
|
}
|
252
263
|
async _getNextJob(client, bclient, token, { block = true } = {}) {
|
253
264
|
var _a;
|
@@ -297,7 +308,13 @@ export class Worker extends QueueBase {
|
|
297
308
|
* @param expireTimeMs - expire time in ms of this rate limit.
|
298
309
|
*/
|
299
310
|
async rateLimit(expireTimeMs) {
|
300
|
-
await this.
|
311
|
+
await this.trace(SpanKind.INTERNAL, 'rateLimit', this.name, async (span) => {
|
312
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
313
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
314
|
+
[TelemetryAttributes.WorkerRateLimit]: expireTimeMs,
|
315
|
+
});
|
316
|
+
await this.client.then(client => client.set(this.keys.limiter, Number.MAX_SAFE_INTEGER, 'PX', expireTimeMs));
|
317
|
+
});
|
301
318
|
}
|
302
319
|
get minimumBlockTimeout() {
|
303
320
|
return this.blockingConnection.capabilities.canBlockFor1Ms
|
@@ -428,74 +445,103 @@ export class Worker extends QueueBase {
|
|
428
445
|
if (!job || this.closing || this.paused) {
|
429
446
|
return;
|
430
447
|
}
|
431
|
-
const
|
432
|
-
|
433
|
-
|
434
|
-
this.
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
448
|
+
const { telemetryMetadata: srcPropagationMedatada } = job.opts;
|
449
|
+
return this.trace(SpanKind.CONSUMER, 'process', this.name, async (span) => {
|
450
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
451
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
452
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
453
|
+
[TelemetryAttributes.JobId]: job.id,
|
454
|
+
});
|
455
|
+
const handleCompleted = async (result) => {
|
456
|
+
if (!this.connection.closing) {
|
457
|
+
const completed = await job.moveToCompleted(result, token, fetchNextCallback() && !(this.closing || this.paused));
|
458
|
+
this.emit('completed', job, result, 'active');
|
459
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job completed', {
|
460
|
+
[TelemetryAttributes.JobResult]: JSON.stringify(result),
|
461
|
+
});
|
462
|
+
const [jobData, jobId, limitUntil, delayUntil] = completed || [];
|
463
|
+
this.updateDelays(limitUntil, delayUntil);
|
464
|
+
return this.nextJobFromJobData(jobData, jobId, token);
|
465
|
+
}
|
466
|
+
};
|
467
|
+
const handleFailed = async (err) => {
|
468
|
+
if (!this.connection.closing) {
|
469
|
+
try {
|
470
|
+
// Check if the job was manually rate-limited
|
471
|
+
if (err.message == RATE_LIMIT_ERROR) {
|
472
|
+
this.limitUntil = await this.moveLimitedBackToWait(job, token);
|
473
|
+
return;
|
474
|
+
}
|
475
|
+
if (err instanceof DelayedError ||
|
476
|
+
err.name == 'DelayedError' ||
|
477
|
+
err instanceof WaitingChildrenError ||
|
478
|
+
err.name == 'WaitingChildrenError') {
|
479
|
+
return;
|
480
|
+
}
|
481
|
+
const result = await job.moveToFailed(err, token, true);
|
482
|
+
this.emit('failed', job, err, 'active');
|
483
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job failed', {
|
484
|
+
[TelemetryAttributes.JobFailedReason]: err.message,
|
485
|
+
});
|
486
|
+
if (result) {
|
487
|
+
const [jobData, jobId, limitUntil, delayUntil] = result;
|
488
|
+
this.updateDelays(limitUntil, delayUntil);
|
489
|
+
return this.nextJobFromJobData(jobData, jobId, token);
|
490
|
+
}
|
452
491
|
}
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
492
|
+
catch (err) {
|
493
|
+
this.emit('error', err);
|
494
|
+
// It probably means that the job has lost the lock before completion
|
495
|
+
// A worker will (or already has) moved the job back
|
496
|
+
// to the waiting list (as stalled)
|
497
|
+
span === null || span === void 0 ? void 0 : span.recordException(err.message);
|
459
498
|
}
|
460
499
|
}
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
500
|
+
};
|
501
|
+
this.emit('active', job, 'waiting');
|
502
|
+
const processedOn = Date.now();
|
503
|
+
const inProgressItem = { job, ts: processedOn };
|
504
|
+
try {
|
505
|
+
jobsInProgress.add(inProgressItem);
|
506
|
+
const result = await this.callProcessJob(job, token);
|
507
|
+
return await handleCompleted(result);
|
467
508
|
}
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
jobsInProgress.delete(inProgressItem);
|
481
|
-
}
|
509
|
+
catch (err) {
|
510
|
+
const failed = await handleFailed(err);
|
511
|
+
return failed;
|
512
|
+
}
|
513
|
+
finally {
|
514
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
515
|
+
[TelemetryAttributes.JobFinishedTimestamp]: Date.now(),
|
516
|
+
[TelemetryAttributes.JobProcessedTimestamp]: processedOn,
|
517
|
+
});
|
518
|
+
jobsInProgress.delete(inProgressItem);
|
519
|
+
}
|
520
|
+
}, srcPropagationMedatada);
|
482
521
|
}
|
483
522
|
/**
|
484
523
|
*
|
485
524
|
* Pauses the processing of this queue only for this worker.
|
486
525
|
*/
|
487
526
|
async pause(doNotWaitActive) {
|
488
|
-
|
489
|
-
|
490
|
-
this.
|
491
|
-
|
492
|
-
|
493
|
-
this.resumeWorker = null;
|
494
|
-
};
|
527
|
+
await this.trace(SpanKind.INTERNAL, 'pause', this.name, async (span) => {
|
528
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
529
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
530
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
531
|
+
[TelemetryAttributes.WorkerDoNotWaitActive]: doNotWaitActive,
|
495
532
|
});
|
496
|
-
|
497
|
-
|
498
|
-
|
533
|
+
if (!this.paused) {
|
534
|
+
this.paused = new Promise(resolve => {
|
535
|
+
this.resumeWorker = function () {
|
536
|
+
resolve();
|
537
|
+
this.paused = null; // Allow pause to be checked externally for paused state.
|
538
|
+
this.resumeWorker = null;
|
539
|
+
};
|
540
|
+
});
|
541
|
+
await (!doNotWaitActive && this.whenCurrentJobsFinished());
|
542
|
+
this.emit('paused');
|
543
|
+
}
|
544
|
+
});
|
499
545
|
}
|
500
546
|
/**
|
501
547
|
*
|
@@ -503,8 +549,14 @@ export class Worker extends QueueBase {
|
|
503
549
|
*/
|
504
550
|
resume() {
|
505
551
|
if (this.resumeWorker) {
|
506
|
-
this.
|
507
|
-
|
552
|
+
this.trace(SpanKind.INTERNAL, 'resume', this.name, span => {
|
553
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
554
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
555
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
556
|
+
});
|
557
|
+
this.resumeWorker();
|
558
|
+
this.emit('resumed');
|
559
|
+
});
|
508
560
|
}
|
509
561
|
}
|
510
562
|
/**
|
@@ -536,39 +588,47 @@ export class Worker extends QueueBase {
|
|
536
588
|
*
|
537
589
|
* @returns Promise that resolves when the worker has been closed.
|
538
590
|
*/
|
539
|
-
close(force = false) {
|
591
|
+
async close(force = false) {
|
540
592
|
if (this.closing) {
|
541
593
|
return this.closing;
|
542
594
|
}
|
543
|
-
this.
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
595
|
+
await this.trace(SpanKind.INTERNAL, 'close', this.name, async (span) => {
|
596
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
597
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
598
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
599
|
+
[TelemetryAttributes.WorkerForceClose]: force,
|
600
|
+
});
|
601
|
+
this.closing = (async () => {
|
602
|
+
var _a, _b;
|
603
|
+
this.emit('closing', 'closing queue');
|
604
|
+
(_a = this.abortDelayController) === null || _a === void 0 ? void 0 : _a.abort();
|
605
|
+
this.resume();
|
606
|
+
// Define the async cleanup functions
|
607
|
+
const asyncCleanups = [
|
608
|
+
() => {
|
609
|
+
return force || this.whenCurrentJobsFinished(false);
|
610
|
+
},
|
611
|
+
() => { var _a; return (_a = this.childPool) === null || _a === void 0 ? void 0 : _a.clean(); },
|
612
|
+
() => this.blockingConnection.close(force),
|
613
|
+
() => this.connection.close(force),
|
614
|
+
];
|
615
|
+
// Run cleanup functions sequentially and make sure all are run despite any errors
|
616
|
+
for (const cleanup of asyncCleanups) {
|
617
|
+
try {
|
618
|
+
await cleanup();
|
619
|
+
}
|
620
|
+
catch (err) {
|
621
|
+
this.emit('error', err);
|
622
|
+
}
|
564
623
|
}
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
624
|
+
clearTimeout(this.extendLocksTimer);
|
625
|
+
//clearTimeout(this.stalledCheckTimer);
|
626
|
+
(_b = this.stalledCheckStopper) === null || _b === void 0 ? void 0 : _b.call(this);
|
627
|
+
this.closed = true;
|
628
|
+
this.emit('closed');
|
629
|
+
})();
|
630
|
+
return await this.closing;
|
631
|
+
});
|
572
632
|
}
|
573
633
|
/**
|
574
634
|
*
|
@@ -584,20 +644,36 @@ export class Worker extends QueueBase {
|
|
584
644
|
*/
|
585
645
|
async startStalledCheckTimer() {
|
586
646
|
if (!this.opts.skipStalledCheck) {
|
587
|
-
clearTimeout(this.stalledCheckTimer);
|
588
647
|
if (!this.closing) {
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
}
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
}
|
648
|
+
await this.trace(SpanKind.INTERNAL, 'startStalledCheckTimer', this.name, async (span) => {
|
649
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
650
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
651
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
652
|
+
});
|
653
|
+
this.stalledChecker().catch(err => {
|
654
|
+
this.emit('error', err);
|
655
|
+
});
|
656
|
+
});
|
598
657
|
}
|
599
658
|
}
|
600
659
|
}
|
660
|
+
async stalledChecker() {
|
661
|
+
while (!this.closing) {
|
662
|
+
try {
|
663
|
+
await this.checkConnectionError(() => this.moveStalledJobsToWait());
|
664
|
+
}
|
665
|
+
catch (err) {
|
666
|
+
this.emit('error', err);
|
667
|
+
}
|
668
|
+
await new Promise(resolve => {
|
669
|
+
const timeout = setTimeout(resolve, this.opts.stalledInterval);
|
670
|
+
this.stalledCheckStopper = () => {
|
671
|
+
clearTimeout(timeout);
|
672
|
+
resolve();
|
673
|
+
};
|
674
|
+
});
|
675
|
+
}
|
676
|
+
}
|
601
677
|
startLockExtenderTimer(jobsInProgress) {
|
602
678
|
if (!this.opts.skipLockRenewal) {
|
603
679
|
clearTimeout(this.extendLocksTimer);
|
@@ -669,39 +745,67 @@ export class Worker extends QueueBase {
|
|
669
745
|
} while (retry);
|
670
746
|
}
|
671
747
|
async extendLocks(jobs) {
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
this.
|
748
|
+
await this.trace(SpanKind.INTERNAL, 'extendLocks', this.name, async (span) => {
|
749
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
750
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
751
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
752
|
+
[TelemetryAttributes.WorkerJobsToExtendLocks]: jobs.map(job => job.id),
|
753
|
+
});
|
754
|
+
try {
|
755
|
+
const pipeline = (await this.client).pipeline();
|
756
|
+
for (const job of jobs) {
|
757
|
+
await this.scripts.extendLock(job.id, job.token, this.opts.lockDuration, pipeline);
|
758
|
+
}
|
759
|
+
const result = (await pipeline.exec());
|
760
|
+
for (const [err, jobId] of result) {
|
761
|
+
if (err) {
|
762
|
+
// TODO: signal process function that the job has been lost.
|
763
|
+
this.emit('error', new Error(`could not renew lock for job ${jobId}`));
|
764
|
+
}
|
682
765
|
}
|
683
766
|
}
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
}
|
767
|
+
catch (err) {
|
768
|
+
this.emit('error', err);
|
769
|
+
}
|
770
|
+
});
|
688
771
|
}
|
689
772
|
async moveStalledJobsToWait() {
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
773
|
+
await this.trace(SpanKind.INTERNAL, 'moveStalledJobsToWait', this.name, async (span) => {
|
774
|
+
const chunkSize = 50;
|
775
|
+
const [failed, stalled] = await this.scripts.moveStalledJobsToWait();
|
776
|
+
span === null || span === void 0 ? void 0 : span.setAttributes({
|
777
|
+
[TelemetryAttributes.WorkerId]: this.id,
|
778
|
+
[TelemetryAttributes.WorkerName]: this.opts.name,
|
779
|
+
[TelemetryAttributes.WorkerStalledJobs]: stalled,
|
780
|
+
[TelemetryAttributes.WorkerFailedJobs]: failed,
|
781
|
+
});
|
782
|
+
stalled.forEach((jobId) => {
|
783
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job stalled', {
|
784
|
+
[TelemetryAttributes.JobId]: jobId,
|
785
|
+
});
|
786
|
+
this.emit('stalled', jobId, 'active');
|
787
|
+
});
|
788
|
+
const jobPromises = [];
|
789
|
+
for (let i = 0; i < failed.length; i++) {
|
790
|
+
jobPromises.push(Job.fromId(this, failed[i]));
|
791
|
+
if ((i + 1) % chunkSize === 0) {
|
792
|
+
this.notifyFailedJobs(await Promise.all(jobPromises));
|
793
|
+
jobPromises.length = 0;
|
794
|
+
}
|
699
795
|
}
|
700
|
-
|
701
|
-
|
796
|
+
this.notifyFailedJobs(await Promise.all(jobPromises));
|
797
|
+
});
|
702
798
|
}
|
703
|
-
notifyFailedJobs(failedJobs) {
|
704
|
-
|
799
|
+
notifyFailedJobs(failedJobs, span) {
|
800
|
+
const failedReason = 'job stalled more than allowable limit';
|
801
|
+
failedJobs.forEach((job) => {
|
802
|
+
span === null || span === void 0 ? void 0 : span.addEvent('job failed', {
|
803
|
+
[TelemetryAttributes.JobId]: job.id,
|
804
|
+
[TelemetryAttributes.JobName]: job.name,
|
805
|
+
[TelemetryAttributes.JobFailedReason]: failedReason,
|
806
|
+
});
|
807
|
+
this.emit('failed', job, new Error(failedReason), 'active');
|
808
|
+
});
|
705
809
|
}
|
706
810
|
moveLimitedBackToWait(job, token) {
|
707
811
|
return this.scripts.moveJobFromActiveToWait(job.id, token);
|