@workglow/job-queue 0.0.62 → 0.0.64
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/dist/browser.js +31 -10
- package/dist/browser.js.map +5 -5
- package/dist/bun.js +31 -10
- package/dist/bun.js.map +5 -5
- package/dist/job/Job.d.ts +5 -1
- package/dist/job/Job.d.ts.map +1 -1
- package/dist/job/JobQueueServer.d.ts +7 -1
- package/dist/job/JobQueueServer.d.ts.map +1 -1
- package/dist/job/JobQueueWorker.d.ts +5 -0
- package/dist/job/JobQueueWorker.d.ts.map +1 -1
- package/dist/node.js +31 -10
- package/dist/node.js.map +5 -5
- package/package.json +5 -5
|
@@ -143,7 +143,9 @@ export declare class JobQueueServer<Input, Output, QueueJob extends Job<Input, O
|
|
|
143
143
|
*/
|
|
144
144
|
protected cleanupJobs(): Promise<void>;
|
|
145
145
|
/**
|
|
146
|
-
* Fix stuck jobs from previous server runs
|
|
146
|
+
* Fix stuck jobs from previous server runs.
|
|
147
|
+
* Jobs in PROCESSING or ABORTING state that are not owned by any of the current
|
|
148
|
+
* server's workers are considered orphaned and will be reset.
|
|
147
149
|
*/
|
|
148
150
|
protected fixupJobs(): Promise<void>;
|
|
149
151
|
/**
|
|
@@ -154,5 +156,9 @@ export declare class JobQueueServer<Input, Output, QueueJob extends Job<Input, O
|
|
|
154
156
|
* Convert Job class to storage format
|
|
155
157
|
*/
|
|
156
158
|
protected classToStorage(job: Job<Input, Output>): JobStorageFormat<Input, Output>;
|
|
159
|
+
/**
|
|
160
|
+
* Get the worker IDs of all workers managed by this server
|
|
161
|
+
*/
|
|
162
|
+
getWorkerIds(): string[];
|
|
157
163
|
}
|
|
158
164
|
//# sourceMappingURL=JobQueueServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobQueueServer.d.ts","sourceRoot":"","sources":["../../src/job/JobQueueServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAa,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,KAAK,EAAE,MAAM,IAAI;IACxD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAChE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1E,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC;IACvE,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACpC,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAClD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;GAGG;AACH,qBAAa,cAAc,CACzB,KAAK,EACL,MAAM,EACN,QAAQ,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;IAExD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAE7C,SAAS,CAAC,QAAQ,CAAC,MAAM,4DAAmE;IAC5F,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAM;IAC3E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAa;IAE3E,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAEpE,SAAS,CAAC,KAAK,EAAE,aAAa,CAQ5B;gBAEU,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;IAe5F;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBlC;;OAEG;IACI,QAAQ,IAAI,aAAa;IAIhC;;OAEG;IACI,UAAU,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC;IAIjD;;OAEG;IACU,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,cAAc,IAAI,MAAM;IAQ/B;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI;IAI7D;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI;IAQzD,EAAE,CAAC,KAAK,SAAS,oBAAoB,EAC1C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAC3D,IAAI;IAIA,GAAG,CAAC,KAAK,SAAS,oBAAoB,EAC3C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAC3D,IAAI;IAQP;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAOnC;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;IA+DjE;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAC1E,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAC7F,SAAS,CAAC,gBAAgB,CACxB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IACP,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAC7E,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI;IAC1F,SAAS,CAAC,gBAAgB,CACxB,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,IAAI;IAUP;;OAEG;IACH,SAAS,CAAC,2BAA2B,IAAI,IAAI;IAkB7C;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAUlC;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5C
|
|
1
|
+
{"version":3,"file":"JobQueueServer.d.ts","sourceRoot":"","sources":["../../src/job/JobQueueServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,11 @@ export interface JobQueueWorkerOptions<Input, Output> {
|
|
|
30
30
|
readonly queueName: string;
|
|
31
31
|
readonly limiter?: ILimiter;
|
|
32
32
|
readonly pollIntervalMs?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Optional worker ID. If not provided, a random UUID will be generated.
|
|
35
|
+
* Use a persistent ID if you want the worker to reclaim its own jobs after restart.
|
|
36
|
+
*/
|
|
37
|
+
readonly workerId?: string | null;
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
35
40
|
* Worker that processes jobs from the queue.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobQueueWorker.d.ts","sourceRoot":"","sources":["../../src/job/JobQueueWorker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAa,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAGL,QAAQ,EAIT,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,KAAK,EAAE,MAAM,IAAI;IACxD,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC;IACpD,YAAY,EAAE,CACZ,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACpC,IAAI,CAAC;IACV,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAClD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"JobQueueWorker.d.ts","sourceRoot":"","sources":["../../src/job/JobQueueWorker.ts"],"names":[],"mappings":"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"}
|
package/dist/node.js
CHANGED
|
@@ -70,6 +70,7 @@ class Job {
|
|
|
70
70
|
progress = 0;
|
|
71
71
|
progressMessage = "";
|
|
72
72
|
progressDetails = null;
|
|
73
|
+
workerId = null;
|
|
73
74
|
constructor({
|
|
74
75
|
queueName,
|
|
75
76
|
input,
|
|
@@ -89,7 +90,8 @@ class Job {
|
|
|
89
90
|
runAfter = new Date,
|
|
90
91
|
progress = 0,
|
|
91
92
|
progressMessage = "",
|
|
92
|
-
progressDetails = null
|
|
93
|
+
progressDetails = null,
|
|
94
|
+
workerId = null
|
|
93
95
|
}) {
|
|
94
96
|
this.runAfter = runAfter ?? new Date;
|
|
95
97
|
this.createdAt = createdAt ?? new Date;
|
|
@@ -110,6 +112,7 @@ class Job {
|
|
|
110
112
|
this.progress = progress;
|
|
111
113
|
this.progressMessage = progressMessage;
|
|
112
114
|
this.progressDetails = progressDetails;
|
|
115
|
+
this.workerId = workerId ?? null;
|
|
113
116
|
}
|
|
114
117
|
async execute(input, context) {
|
|
115
118
|
throw new JobError("Method not implemented.");
|
|
@@ -469,7 +472,7 @@ class JobQueueWorker {
|
|
|
469
472
|
processingTimes = new Map;
|
|
470
473
|
constructor(jobClass, options) {
|
|
471
474
|
this.queueName = options.queueName;
|
|
472
|
-
this.workerId = uuid4();
|
|
475
|
+
this.workerId = options.workerId ?? uuid4();
|
|
473
476
|
this.storage = options.storage;
|
|
474
477
|
this.jobClass = jobClass;
|
|
475
478
|
this.limiter = options.limiter ?? new NullLimiter;
|
|
@@ -583,10 +586,14 @@ class JobQueueWorker {
|
|
|
583
586
|
} catch (err) {
|
|
584
587
|
const error = this.normalizeError(err);
|
|
585
588
|
if (error instanceof RetryableJobError) {
|
|
586
|
-
|
|
587
|
-
|
|
589
|
+
const currentJob = await this.getJob(job.id);
|
|
590
|
+
if (!currentJob) {
|
|
591
|
+
throw new JobNotFoundError(`Job ${job.id} not found`);
|
|
592
|
+
}
|
|
593
|
+
if (currentJob.runAttempts >= currentJob.maxRetries) {
|
|
594
|
+
await this.failJob(currentJob, new PermanentJobError("Max retries reached"));
|
|
588
595
|
} else {
|
|
589
|
-
await this.rescheduleJob(
|
|
596
|
+
await this.rescheduleJob(currentJob, error.retryDate);
|
|
590
597
|
}
|
|
591
598
|
} else {
|
|
592
599
|
await this.failJob(job, error);
|
|
@@ -666,6 +673,7 @@ class JobQueueWorker {
|
|
|
666
673
|
job.progress = 0;
|
|
667
674
|
job.progressMessage = "";
|
|
668
675
|
job.progressDetails = null;
|
|
676
|
+
job.runAttempts = (job.runAttempts ?? 0) + 1;
|
|
669
677
|
await this.storage.complete(this.classToStorage(job));
|
|
670
678
|
this.events.emit("job_retry", job.id, job.runAfter);
|
|
671
679
|
} catch (err) {
|
|
@@ -753,7 +761,8 @@ class JobQueueWorker {
|
|
|
753
761
|
error: details.error ?? null,
|
|
754
762
|
errorCode: details.error_code ?? null,
|
|
755
763
|
runAttempts: details.run_attempts ?? 0,
|
|
756
|
-
maxRetries: details.max_retries ?? 10
|
|
764
|
+
maxRetries: details.max_retries ?? 10,
|
|
765
|
+
workerId: details.worker_id ?? null
|
|
757
766
|
});
|
|
758
767
|
}
|
|
759
768
|
classToStorage(job) {
|
|
@@ -782,7 +791,8 @@ class JobQueueWorker {
|
|
|
782
791
|
completed_at: dateToISOString(job.completedAt),
|
|
783
792
|
progress: job.progress ?? 0,
|
|
784
793
|
progress_message: job.progressMessage ?? "",
|
|
785
|
-
progress_details: job.progressDetails ?? null
|
|
794
|
+
progress_details: job.progressDetails ?? null,
|
|
795
|
+
worker_id: job.workerId ?? null
|
|
786
796
|
};
|
|
787
797
|
}
|
|
788
798
|
}
|
|
@@ -1000,12 +1010,17 @@ class JobQueueServer {
|
|
|
1000
1010
|
const stuckProcessingJobs = await this.storage.peek(JobStatus4.PROCESSING);
|
|
1001
1011
|
const stuckAbortingJobs = await this.storage.peek(JobStatus4.ABORTING);
|
|
1002
1012
|
const stuckJobs = [...stuckProcessingJobs, ...stuckAbortingJobs];
|
|
1013
|
+
const currentWorkerIds = new Set(this.getWorkerIds());
|
|
1003
1014
|
for (const jobData of stuckJobs) {
|
|
1015
|
+
if (jobData.worker_id && currentWorkerIds.has(jobData.worker_id)) {
|
|
1016
|
+
continue;
|
|
1017
|
+
}
|
|
1004
1018
|
const job = this.storageToClass(jobData);
|
|
1005
1019
|
if (job.runAttempts >= job.maxRetries) {
|
|
1006
1020
|
job.status = JobStatus4.FAILED;
|
|
1007
1021
|
job.error = "Max retries reached";
|
|
1008
1022
|
job.errorCode = "MAX_RETRIES_REACHED";
|
|
1023
|
+
job.workerId = null;
|
|
1009
1024
|
} else {
|
|
1010
1025
|
job.status = JobStatus4.PENDING;
|
|
1011
1026
|
job.runAfter = job.lastRanAt || new Date;
|
|
@@ -1013,6 +1028,7 @@ class JobQueueServer {
|
|
|
1013
1028
|
job.progressMessage = "";
|
|
1014
1029
|
job.progressDetails = null;
|
|
1015
1030
|
job.error = "Server restarted";
|
|
1031
|
+
job.workerId = null;
|
|
1016
1032
|
}
|
|
1017
1033
|
await this.storage.complete(this.classToStorage(job));
|
|
1018
1034
|
}
|
|
@@ -1046,7 +1062,8 @@ class JobQueueServer {
|
|
|
1046
1062
|
error: details.error ?? null,
|
|
1047
1063
|
errorCode: details.error_code ?? null,
|
|
1048
1064
|
runAttempts: details.run_attempts ?? 0,
|
|
1049
|
-
maxRetries: details.max_retries ?? 10
|
|
1065
|
+
maxRetries: details.max_retries ?? 10,
|
|
1066
|
+
workerId: details.worker_id ?? null
|
|
1050
1067
|
});
|
|
1051
1068
|
}
|
|
1052
1069
|
classToStorage(job) {
|
|
@@ -1075,9 +1092,13 @@ class JobQueueServer {
|
|
|
1075
1092
|
completed_at: dateToISOString(job.completedAt),
|
|
1076
1093
|
progress: job.progress ?? 0,
|
|
1077
1094
|
progress_message: job.progressMessage ?? "",
|
|
1078
|
-
progress_details: job.progressDetails ?? null
|
|
1095
|
+
progress_details: job.progressDetails ?? null,
|
|
1096
|
+
worker_id: job.workerId ?? null
|
|
1079
1097
|
};
|
|
1080
1098
|
}
|
|
1099
|
+
getWorkerIds() {
|
|
1100
|
+
return this.workers.map((worker) => worker.workerId);
|
|
1101
|
+
}
|
|
1081
1102
|
}
|
|
1082
1103
|
// src/limiter/CompositeLimiter.ts
|
|
1083
1104
|
class CompositeLimiter {
|
|
@@ -1379,4 +1400,4 @@ export {
|
|
|
1379
1400
|
AbortSignalJobError
|
|
1380
1401
|
};
|
|
1381
1402
|
|
|
1382
|
-
//# debugId=
|
|
1403
|
+
//# debugId=C5F467A9088EB8EA64756E2164756E21
|