nmtjs 0.15.0-beta.21 → 0.15.0-beta.22

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.
@@ -54,7 +54,7 @@ import { anyAbortSignal } from '@nmtjs/common';
54
54
  import { Scope } from '@nmtjs/core';
55
55
  import { UnrecoverableError } from 'bullmq';
56
56
  import { LifecycleHook } from "../enums.js";
57
- import { jobAbortSignal } from "../injectables.js";
57
+ import { currentJobInfo, jobAbortSignal, saveJobProgress, } from "../injectables.js";
58
58
  export class JobRunner {
59
59
  runtime;
60
60
  logger;
@@ -65,6 +65,21 @@ export class JobRunner {
65
65
  get container() {
66
66
  return this.runtime.container;
67
67
  }
68
+ /**
69
+ * Creates a function that saves the current job progress state.
70
+ * Override in subclasses to implement actual persistence.
71
+ */
72
+ createSaveProgressFn(_context) {
73
+ // No-op in base runner - subclasses implement actual persistence
74
+ return async () => { };
75
+ }
76
+ /**
77
+ * Creates the current job info object.
78
+ * Override in subclasses to include additional info (e.g., BullMQ job ID).
79
+ */
80
+ createJobInfo(job, _options) {
81
+ return { name: job.options.name };
82
+ }
68
83
  async runJob(job, data, options = {}) {
69
84
  const env_1 = { stack: [], error: void 0, hasError: false };
70
85
  try {
@@ -80,6 +95,18 @@ export class JobRunner {
80
95
  const signal = anyAbortSignal(runSignal, stopListener.signal);
81
96
  const container = __addDisposableResource(env_1, this.container.fork(Scope.Global), true);
82
97
  await container.provide(jobAbortSignal, signal);
98
+ await container.provide(currentJobInfo, this.createJobInfo(job, options));
99
+ // Create mutable state context for saveProgress
100
+ const progressContext = {
101
+ job,
102
+ progress,
103
+ result,
104
+ stepResults: null, // Will be set below
105
+ currentStepIndex,
106
+ options: null, // Will be set below
107
+ };
108
+ // Provide saveProgress injectable
109
+ await container.provide(saveJobProgress, this.createSaveProgressFn(progressContext));
83
110
  const jobDependencyContext = await container.createContext(job.dependencies);
84
111
  const jobData = job.options.data
85
112
  ? await job.options.data(jobDependencyContext, decodedInput, progress)
@@ -101,6 +128,9 @@ export class JobRunner {
101
128
  progress,
102
129
  ...rest,
103
130
  };
131
+ // Update mutable context references
132
+ progressContext.stepResults = stepResults;
133
+ progressContext.options = runOptions;
104
134
  for (let stepIndex = currentStepIndex; stepIndex < steps.length; stepIndex++) {
105
135
  const step = steps[stepIndex];
106
136
  const resultSnapshot = Object.freeze(Object.assign({}, decodedInput, result));
@@ -230,26 +260,59 @@ export class ApplicationWorkerJobRunner extends JobRunner {
230
260
  super(runtime);
231
261
  this.runtime = runtime;
232
262
  }
263
+ createJobInfo(job, options) {
264
+ const { queueJob } = options;
265
+ return {
266
+ name: job.options.name,
267
+ id: queueJob?.id,
268
+ queue: queueJob?.queueName,
269
+ attempts: queueJob?.attemptsMade,
270
+ stepIndex: options.currentStepIndex,
271
+ };
272
+ }
273
+ createSaveProgressFn(context) {
274
+ return async () => {
275
+ const { job, progress, result, stepResults, options } = context;
276
+ if (!options || !stepResults)
277
+ return;
278
+ const { queueJob } = options;
279
+ // Find current step index based on completed steps
280
+ let currentStepIndex = 0;
281
+ for (let i = 0; i < stepResults.length; i++) {
282
+ if (stepResults[i])
283
+ currentStepIndex = i + 1;
284
+ }
285
+ // Encode progress before persisting if schema is defined
286
+ const encodedProgress = job.progress
287
+ ? job.progress.encode(progress)
288
+ : progress;
289
+ const checkpoint = {
290
+ stepIndex: currentStepIndex,
291
+ result,
292
+ stepResults,
293
+ progress: encodedProgress,
294
+ };
295
+ await queueJob.updateProgress(checkpoint);
296
+ };
297
+ }
233
298
  async afterStep(params) {
234
299
  await super.afterStep(params);
235
300
  const { job, step, result, stepResult, stepResults, stepIndex, options: { queueJob, progress }, } = params;
236
301
  const nextStepIndex = stepIndex + 1;
237
- const totalSteps = job.steps.length;
238
- const percentage = Math.round((nextStepIndex / totalSteps) * 100);
239
302
  // Encode progress before persisting if schema is defined
240
303
  const encodedProgress = job.progress
241
304
  ? job.progress.encode(progress)
242
305
  : progress;
306
+ const checkpoint = {
307
+ stepIndex: nextStepIndex,
308
+ stepLabel: step.label,
309
+ result,
310
+ stepResults,
311
+ progress: encodedProgress,
312
+ };
243
313
  await Promise.all([
244
314
  queueJob.log(`Step ${step.label || nextStepIndex} completed in ${(stepResult.duration / 1000).toFixed(3)}s`),
245
- queueJob.updateProgress({
246
- stepIndex: nextStepIndex,
247
- stepLabel: step.label,
248
- result,
249
- stepResults,
250
- progress: encodedProgress,
251
- percentage,
252
- }),
315
+ queueJob.updateProgress(checkpoint),
253
316
  ]);
254
317
  }
255
318
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/runtime/jobs/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/runtime/jobs/runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAU3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAA;AA2C1B,MAAM,OAAO,SAAS;IAMR;IAHZ,MAAM,CAAQ;IAEd,YACY,OAIT;QAJS,YAAO,GAAP,OAAO,CAIhB;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACO,oBAAoB,CAC5B,QAAyC;QAEzC,iEAAiE;QACjE,OAAO,KAAK,IAAI,EAAE,GAAE,CAAC,CAAA;IACvB,CAAC;IAED;;;OAGG;IACO,aAAa,CACrB,GAAW,EACX,QAA6B;QAE7B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAM,EACN,IAAS,EACT,UAA+B,EAAE;;;YAEjC,MAAM,EACJ,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,GAAG,EAAE,EACtB,WAAW,EAAE,cAAc,GAAG,EAA+B,EAC7D,QAAQ,EAAE,WAAW,GAAG,EAAE,EAC1B,gBAAgB,GAAG,CAAC,EACpB,GAAG,IAAI,EACR,GAAG,OAAO,CAAA;YAEX,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YAEpC,MAAM,MAAM,GAA4B,EAAE,GAAG,SAAS,EAAE,CAAA;YACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAEvC,6DAA6D;YAC7D,MAAM,QAAQ,GAA4B,GAAG,CAAC,QAAQ;gBACpD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAA;YAEtB,MAAM,YAAY,kCAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CACnD,aAAa,CAAC,aAAa,CAC5B,QAAA,CAAA;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAY,SAAS,kCAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAA,CAAA;YACzD,MAAM,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YAC/C,MAAM,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YAEzE,gDAAgD;YAChD,MAAM,eAAe,GAAG;gBACtB,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,WAAW,EAAE,IAAgC,EAAE,oBAAoB;gBACnE,gBAAgB;gBAChB,OAAO,EAAE,IAAyB,EAAE,oBAAoB;aACzD,CAAA;YAED,kCAAkC;YAClC,MAAM,SAAS,CAAC,OAAO,CACrB,eAAe,EACf,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAC3C,CAAA;YAED,MAAM,oBAAoB,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI;gBAC9B,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,EAAE,QAAQ,CAAC;gBACtE,CAAC,CAAC,SAAS,CAAA;YAEb,MAAM,WAAW,GAAsB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAE3E,mEAAmE;YACnE,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;gBACvE,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;gBACvC,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;gBAC9B,IAAI,KAAK,EAAE,IAAI;oBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACpD,CAAC;YAED,mBAAmB;YACnB,MAAM,UAAU,GAAe;gBAC7B,MAAM;gBACN,MAAM;gBACN,WAAW;gBACX,gBAAgB,EAAE,gBAAgB;gBAClC,QAAQ;gBACR,GAAG,IAAI;aACsB,CAAA;YAE/B,oCAAoC;YACpC,eAAe,CAAC,WAAW,GAAG,WAAW,CAAA;YACzC,eAAe,CAAC,OAAO,GAAG,UAAU,CAAA;YAEpC,KACE,IAAI,SAAS,GAAG,gBAAgB,EAChC,SAAS,GAAG,KAAK,CAAC,MAAM,EACxB,SAAS,EAAE,EACX,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAClC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CACxC,CAAA;gBAED,IAAI,CAAC;oBACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;wBACzB,IAAI,MAAM,YAAY,kBAAkB;4BAAE,MAAM,MAAM,CAAA;wBACtD,MAAM,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAA;oBAC/C,CAAC;oBAED,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;oBAC/C,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC;4BAChC,OAAO,EAAE,oBAAoB;4BAC7B,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,cAAc;4BACtB,QAAQ;yBACT,CAAC,CAAA;wBACF,IAAI,CAAC,SAAS,EAAE,CAAC;4BACf,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;4BACpD,SAAQ;wBACV,CAAC;oBACH,CAAC;oBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAEhC,MAAM,IAAI,CAAC,UAAU,CAAC;wBACpB,GAAG;wBACH,IAAI;wBACJ,SAAS;wBACT,MAAM;wBACN,OAAO,EAAE,UAAU;wBACnB,WAAW;qBACZ,CAAC,CAAA;oBAEF,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBACpE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;oBAEnD,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,OAAO,EAAE,oBAAoB;wBAC7B,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,YAAY;wBACnB,MAAM,EAAE,cAAc;wBACtB,QAAQ;wBACR,IAAI;wBACJ,SAAS;qBACV,CAAC,CAAA;oBAEF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CACtC,WAAW,EACX,SAAS,EACT,OAAO,CACR,CAAA;oBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;oBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAA;oBAE3C,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;oBACrD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBAE/B,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;wBAC3B,OAAO,EAAE,oBAAoB;wBAC7B,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,YAAY;wBACnB,MAAM;wBACN,QAAQ;wBACR,IAAI;wBACJ,SAAS;qBACV,CAAC,CAAA;oBAEF,MAAM,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG;wBACH,IAAI;wBACJ,SAAS;wBACT,MAAM;wBACN,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC;wBAClC,WAAW;wBACX,OAAO,EAAE,UAAU;qBACpB,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,sBAAsB,SAAS,GAAG,EAAE;wBAC5D,KAAK,EAAE,KAAK;qBACb,CAAC,CAAA;oBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBAE1B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;wBAC5C,OAAO,EAAE,oBAAoB;wBAC7B,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,YAAY;wBACnB,MAAM,EAAE,MAAM;wBACd,QAAQ;wBACR,IAAI;wBACJ,SAAS;wBACT,KAAK;qBACN,CAAC,CAAA;oBAEF,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;wBACzB,MAAM,IAAI,kBAAkB,CAAC,4BAA4B,CAAC,CAAA;oBAC5D,CAAC;oBAED,MAAM,OAAO,CAAA;gBACf,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,aAAc,CAAC;gBAC5C,OAAO,EAAE,oBAAoB;gBAC7B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,YAAY;gBACnB,MAAM;gBACN,QAAQ;aACT,CAAC,CAAA;YAEF,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;;;;;;;;;;;KACnC;IAES,KAAK,CAAC,UAAU,CACxB,MAAgD;QAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;YACE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,EACD,oBAAoB,CACrB,CAAA;IACH,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,MAA+C;QAE/C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;YACE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,EACD,oBAAoB,CACrB,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,SAE/C;IAEa;IADZ,YACY,OAIT;QAED,KAAK,CAAC,OAAO,CAAC,CAAA;QANJ,YAAO,GAAP,OAAO,CAIhB;IAGH,CAAC;IAES,aAAa,CACrB,GAAW,EACX,OAAyD;QAEzD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QAC5B,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;YACtB,EAAE,EAAE,QAAQ,EAAE,EAAE;YAChB,KAAK,EAAE,QAAQ,EAAE,SAAS;YAC1B,QAAQ,EAAE,QAAQ,EAAE,YAAY;YAChC,SAAS,EAAE,OAAO,CAAC,gBAAgB;SACpC,CAAA;IACH,CAAC;IAES,oBAAoB,CAC5B,OAAqE;QAErE,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;YAC/D,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW;gBAAE,OAAM;YAEpC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;YAE5B,mDAAmD;YACnD,IAAI,gBAAgB,GAAG,CAAC,CAAA;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,WAAW,CAAC,CAAC,CAAC;oBAAE,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9C,CAAC;YAED,yDAAyD;YACzD,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ;gBAClC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC/B,CAAC,CAAC,QAAQ,CAAA;YAEZ,MAAM,UAAU,GAA0B;gBACxC,SAAS,EAAE,gBAAgB;gBAC3B,MAAM;gBACN,WAAW;gBACX,QAAQ,EAAE,eAAe;aAC1B,CAAA;YAED,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC3C,CAAC,CAAA;IACH,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,MAEC;QAED,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,EACJ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAChC,GAAG,MAAM,CAAA;QACV,MAAM,aAAa,GAAG,SAAS,GAAG,CAAC,CAAA;QAEnC,yDAAyD;QACzD,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ;YAClC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,QAAQ,CAAA;QAEZ,MAAM,UAAU,GAA0B;YACxC,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,MAAM;YACN,WAAW;YACX,QAAQ,EAAE,eAAe;SAC1B,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,QAAQ,CAAC,GAAG,CACV,QAAQ,IAAI,CAAC,KAAK,IAAI,aAAa,iBAAiB,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAC/F;YACD,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;SACpC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,80 @@
1
+ /** Metadata about a job step in a job definition */
2
+ export interface JobStepInfo {
3
+ /** Optional human-readable label for the step */
4
+ label?: string;
5
+ /** Whether this step has a condition that may skip it */
6
+ conditional: boolean;
7
+ }
8
+ /** Metadata about a job definition (not a running job instance) */
9
+ export interface JobDefinitionInfo {
10
+ /** Job name from definition */
11
+ name: string;
12
+ /** Information about each step in the job */
13
+ steps: JobStepInfo[];
14
+ }
15
+ /** Result of a single step execution */
16
+ export interface StepResultEntry {
17
+ /** Output data produced by the step, or null if skipped */
18
+ data: Record<string, unknown> | null;
19
+ /** Duration in milliseconds */
20
+ duration: number;
21
+ }
22
+ /** Checkpoint data persisted for job resume support */
23
+ export interface JobProgressCheckpoint {
24
+ /** Index of the next step to execute (0 = not started, length = completed) */
25
+ stepIndex: number;
26
+ /** Label of the last completed step */
27
+ stepLabel?: string;
28
+ /** Accumulated result from all completed steps */
29
+ result: Record<string, unknown>;
30
+ /** Results of each individual step */
31
+ stepResults: StepResultEntry[];
32
+ /** User-defined progress state */
33
+ progress: Record<string, unknown>;
34
+ }
35
+ /** Information about the currently executing job, available via injectable */
36
+ export interface JobExecutionContext {
37
+ /** Job definition name */
38
+ name: string;
39
+ /** Queue job ID */
40
+ id?: string;
41
+ /** Queue name */
42
+ queue?: string;
43
+ /** Number of attempts made so far */
44
+ attempts?: number;
45
+ /** Current step index being executed */
46
+ stepIndex?: number;
47
+ }
48
+ /** Vendor-agnostic job status */
49
+ export type JobStatus = 'pending' | 'active' | 'completed' | 'failed' | 'delayed' | 'cancelled' | 'unknown';
50
+ /** A job instance retrieved from the queue */
51
+ export interface JobItem<TInput = unknown, TOutput = unknown> {
52
+ /** Unique job instance ID */
53
+ id: string;
54
+ /** Job definition name */
55
+ name: string;
56
+ /** Queue name this job belongs to */
57
+ queue: string;
58
+ /** Input data passed to the job */
59
+ data: TInput;
60
+ /** Output produced by the job (if completed) */
61
+ output?: TOutput | null;
62
+ /** Current job status */
63
+ status: JobStatus;
64
+ /** Job priority (lower = higher priority) */
65
+ priority?: number;
66
+ /** Job progress checkpoint (includes step state and user progress) */
67
+ progress?: JobProgressCheckpoint;
68
+ /** Number of execution attempts */
69
+ attempts: number;
70
+ /** Timestamp when job started processing (ms) */
71
+ startedAt?: number;
72
+ /** Timestamp when job completed (ms) */
73
+ completedAt?: number;
74
+ /** Error message if job failed */
75
+ error?: string;
76
+ /** Stack trace if job failed */
77
+ stacktrace?: string[];
78
+ }
79
+ /** Function to manually trigger saving job progress state */
80
+ export type SaveJobProgress = () => Promise<void>;
@@ -0,0 +1,5 @@
1
+ // ============================================================================
2
+ // Job Definition Types (metadata about job structure)
3
+ // ============================================================================
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/jobs/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E"}
@@ -140,6 +140,8 @@ export class ApplicationServerJobs {
140
140
  }
141
141
  async stop() {
142
142
  const { logger } = this.params;
143
+ // TODO: make configurable
144
+ const closeTimeout = 10_000; // 10 seconds timeout for graceful close
143
145
  if (this.ui) {
144
146
  await new Promise((resolve) => {
145
147
  this.ui?.close(() => resolve());
@@ -147,26 +149,33 @@ export class ApplicationServerJobs {
147
149
  logger.warn({ error }, 'Failed to stop Jobs UI server');
148
150
  });
149
151
  }
150
- await Promise.all(this.uiQueues.map(async (queue) => {
152
+ // Stop accepting new jobs first.
153
+ await Promise.all([...this.queueWorkers].map(async (worker) => {
151
154
  try {
152
- await queue.close();
155
+ // Try graceful close with timeout
156
+ const closePromise = worker.close();
157
+ const timeoutPromise = new Promise((resolve) => setTimeout(() => resolve('timeout'), closeTimeout));
158
+ const result = await Promise.race([closePromise, timeoutPromise]);
159
+ if (result === 'timeout') {
160
+ logger.warn({ worker: worker.name }, 'Worker close timed out, forcing close');
161
+ await worker.close(true);
162
+ }
153
163
  }
154
164
  catch (error) {
155
- logger.warn({ error }, 'Failed to close Jobs UI queue');
165
+ logger.warn({ error }, 'Failed to close BullMQ worker');
156
166
  }
157
167
  }));
158
- this.uiQueues = [];
159
- this.ui = undefined;
160
- // Stop accepting new jobs first.
161
- await Promise.all([...this.queueWorkers].map(async (worker) => {
168
+ this.queueWorkers.clear();
169
+ await Promise.all(this.uiQueues.map(async (queue) => {
162
170
  try {
163
- await worker.close();
171
+ await queue.close();
164
172
  }
165
173
  catch (error) {
166
- logger.warn({ error }, 'Failed to close BullMQ worker');
174
+ logger.warn({ error }, 'Failed to close Jobs UI queue');
167
175
  }
168
176
  }));
169
- this.queueWorkers.clear();
177
+ this.uiQueues = [];
178
+ this.ui = undefined;
170
179
  await Promise.all(Array.from(this.pools.values()).map(async (pool) => {
171
180
  try {
172
181
  await pool.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/runtime/server/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/runtime/server/jobs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -27,23 +27,23 @@
27
27
  "oxc-resolver": "^11.13.2",
28
28
  "vite": "8.0.0-beta.5",
29
29
  "vite-plugin-static-copy": "3.1.4",
30
- "@nmtjs/common": "0.15.0-beta.21",
31
- "@nmtjs/contract": "0.15.0-beta.21",
32
- "@nmtjs/gateway": "0.15.0-beta.21",
33
- "@nmtjs/core": "0.15.0-beta.21",
34
- "@nmtjs/protocol": "0.15.0-beta.21",
35
- "@nmtjs/json-format": "0.15.0-beta.21",
36
- "@nmtjs/type": "0.15.0-beta.21",
37
- "@nmtjs/ws-transport": "0.15.0-beta.21",
38
- "@nmtjs/http-transport": "0.15.0-beta.21"
30
+ "@nmtjs/common": "0.15.0-beta.22",
31
+ "@nmtjs/core": "0.15.0-beta.22",
32
+ "@nmtjs/contract": "0.15.0-beta.22",
33
+ "@nmtjs/json-format": "0.15.0-beta.22",
34
+ "@nmtjs/protocol": "0.15.0-beta.22",
35
+ "@nmtjs/gateway": "0.15.0-beta.22",
36
+ "@nmtjs/type": "0.15.0-beta.22",
37
+ "@nmtjs/http-transport": "0.15.0-beta.22",
38
+ "@nmtjs/ws-transport": "0.15.0-beta.22"
39
39
  },
40
40
  "devDependencies": {
41
41
  "zod": "^4.1.0",
42
- "@nmtjs/proxy": "0.15.0-beta.21"
42
+ "@nmtjs/proxy": "0.15.0-beta.22"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "zod": "^4.1.0",
46
- "@nmtjs/proxy": "0.15.0-beta.21"
46
+ "@nmtjs/proxy": "0.15.0-beta.22"
47
47
  },
48
48
  "peerDependenciesMeta": {
49
49
  "@nmtjs/proxy": {
@@ -56,7 +56,7 @@
56
56
  "LICENSE.md",
57
57
  "README.md"
58
58
  ],
59
- "version": "0.15.0-beta.21",
59
+ "version": "0.15.0-beta.22",
60
60
  "scripts": {
61
61
  "clean-build": "rm -rf ./dist",
62
62
  "build": "tsc --declaration --sourcemap",
@@ -9,6 +9,7 @@ export * from './jobs/job.ts'
9
9
  export * from './jobs/manager.ts'
10
10
  export * from './jobs/router.ts'
11
11
  export * from './jobs/step.ts'
12
+ export * from './jobs/types.ts'
12
13
  export * from './pubsub/manager.ts'
13
14
  export * from './pubsub/redis.ts'
14
15
  export * from './scheduler/index.ts'
@@ -2,6 +2,7 @@ import { createLazyInjectable, Scope } from '@nmtjs/core'
2
2
 
3
3
  import type { JobWorkerPool, WorkerType } from './enums.ts'
4
4
  import type { JobManagerInstance } from './jobs/manager.ts'
5
+ import type { JobExecutionContext, SaveJobProgress } from './jobs/types.ts'
5
6
  import type {
6
7
  PubSubAdapterType,
7
8
  PubSubPublish,
@@ -49,6 +50,16 @@ export const jobAbortSignal = createLazyInjectable<AbortSignal>(
49
50
  'JobAbortSignal',
50
51
  )
51
52
 
53
+ export const saveJobProgress = createLazyInjectable<SaveJobProgress>(
54
+ Scope.Global,
55
+ 'SaveJobProgress',
56
+ )
57
+
58
+ export const currentJobInfo = createLazyInjectable<JobExecutionContext>(
59
+ Scope.Global,
60
+ 'CurrentJobInfo',
61
+ )
62
+
52
63
  export const RuntimeInjectables = {
53
64
  pubSubAdapter,
54
65
  pubSubPublish,
@@ -58,4 +69,6 @@ export const RuntimeInjectables = {
58
69
  workerType,
59
70
  jobWorkerPool,
60
71
  jobAbortSignal,
72
+ saveJobProgress,
73
+ currentJobInfo,
61
74
  }
@@ -8,7 +8,6 @@ import type {
8
8
  QueueEventsListener,
9
9
  RedisClient,
10
10
  } from 'bullmq'
11
- import { pick } from '@nmtjs/core'
12
11
  import {
13
12
  Queue,
14
13
  QueueEvents,
@@ -19,6 +18,7 @@ import {
19
18
  import type { ServerStoreConfig } from '../server/config.ts'
20
19
  import type { Store } from '../types.ts'
21
20
  import type { AnyJob, JobBackoffOptions } from './job.ts'
21
+ import type { JobDefinitionInfo, JobProgressCheckpoint } from './types.ts'
22
22
  import { createStoreClient } from '../store/index.ts'
23
23
 
24
24
  /**
@@ -64,38 +64,29 @@ export class QueueJobResult<T extends AnyJob = AnyJob> {
64
64
  }
65
65
  }
66
66
 
67
- export type JobItem<T extends AnyJob = AnyJob> = Pick<
68
- Job<T['_']['input'], T['_']['output'], T['options']['name']>,
69
- | 'queueName'
70
- | 'priority'
71
- | 'progress'
72
- | 'name'
73
- | 'data'
74
- | 'returnvalue'
75
- | 'attemptsMade'
76
- | 'processedOn'
77
- | 'finishedOn'
78
- | 'failedReason'
79
- | 'stacktrace'
80
- > & { id: string; status: JobState | 'unknown' }
81
-
82
- export type JobStepInfo = { label?: string; conditional: boolean }
83
-
84
- export type JobInfo = { name: string; steps: JobStepInfo[] }
67
+ export type { JobDefinitionInfo, JobItem, JobStepInfo } from './types.ts'
68
+
69
+ import type { JobItem, JobStatus } from './types.ts'
70
+
71
+ /** Job item type with generic job typing for internal use */
72
+ export type JobItemOf<T extends AnyJob = AnyJob> = JobItem<
73
+ T['_']['input'],
74
+ T['_']['output']
75
+ >
85
76
 
86
77
  export interface JobManagerInstance {
87
78
  list<T extends AnyJob>(
88
79
  job: T,
89
- options?: { page?: number; limit?: number; state?: JobState[] },
80
+ options?: { page?: number; limit?: number; status?: JobStatus[] },
90
81
  ): Promise<{
91
- items: JobItem<T>[]
82
+ items: JobItemOf<T>[]
92
83
  page: number
93
84
  limit: number
94
85
  pages: number
95
86
  total: number
96
87
  }>
97
- get<T extends AnyJob>(job: T, id: string): Promise<JobItem<T> | null>
98
- getInfo(job: AnyJob): JobInfo
88
+ get<T extends AnyJob>(job: T, id: string): Promise<JobItemOf<T> | null>
89
+ getInfo(job: AnyJob): JobDefinitionInfo
99
90
  add<T extends AnyJob>(
100
91
  job: T,
101
92
  data: T['_']['input'],
@@ -194,7 +185,7 @@ export class JobManager {
194
185
  return entry
195
186
  }
196
187
 
197
- getInfo(job: AnyJob): JobInfo {
188
+ getInfo(job: AnyJob): JobDefinitionInfo {
198
189
  return {
199
190
  name: job.options.name,
200
191
  steps: job.steps.map((step, index) => ({
@@ -209,15 +200,17 @@ export class JobManager {
209
200
  {
210
201
  limit = 20,
211
202
  page = 1,
212
- state = [],
213
- }: { page?: number; limit?: number; state?: JobType[] },
203
+ status = [],
204
+ }: { page?: number; limit?: number; status?: JobStatus[] },
214
205
  ) {
215
206
  const { queue } = this.getJobQueue(job)
216
- const jobsCount = await queue.getJobCountByTypes(...state)
207
+ // Convert vendor-agnostic status to BullMQ JobType for querying
208
+ const bullJobTypes = status.flatMap((s) => this._mapStatusToJobType(s))
209
+ const jobsCount = await queue.getJobCountByTypes(...bullJobTypes)
217
210
  const totalPages = Math.ceil(jobsCount / limit)
218
211
  if (page > totalPages) return []
219
212
  const jobs = await queue.getJobs(
220
- state,
213
+ bullJobTypes,
221
214
  (page - 1) * limit,
222
215
  page * limit - 1,
223
216
  )
@@ -323,26 +316,77 @@ export class JobManager {
323
316
  return this.getJobQueue(job)
324
317
  }
325
318
 
326
- protected async _mapJob(bullJob: Job): Promise<JobItem> {
327
- const status = await bullJob.getState()
319
+ protected async _mapJob(bullJob: Job): Promise<JobItemOf> {
320
+ const bullState = await bullJob.getState()
328
321
  const id = bullJob.id
329
322
  assert(typeof id === 'string', 'Expected job id to be a string')
323
+
324
+ // Map BullMQ state to vendor-agnostic status
325
+ const status = this._mapStatus(bullState)
326
+
327
+ // Extract progress only if it's a valid checkpoint object
328
+ const progress =
329
+ typeof bullJob.progress === 'object' &&
330
+ bullJob.progress !== null &&
331
+ 'stepIndex' in bullJob.progress
332
+ ? (bullJob.progress as JobProgressCheckpoint)
333
+ : undefined
334
+
330
335
  return {
331
- ...pick(bullJob, {
332
- queueName: true,
333
- priority: true,
334
- progress: true,
335
- name: true,
336
- data: true,
337
- returnvalue: true,
338
- attemptsMade: true,
339
- processedOn: true,
340
- finishedOn: true,
341
- failedReason: true,
342
- stacktrace: true,
343
- }),
344
336
  id,
337
+ name: bullJob.name,
338
+ queue: bullJob.queueName,
339
+ data: bullJob.data,
340
+ output: bullJob.returnvalue,
345
341
  status,
342
+ priority: bullJob.priority,
343
+ progress,
344
+ attempts: bullJob.attemptsMade,
345
+ startedAt: bullJob.processedOn,
346
+ completedAt: bullJob.finishedOn,
347
+ error: bullJob.failedReason,
348
+ stacktrace: bullJob.stacktrace,
349
+ }
350
+ }
351
+
352
+ /** Map BullMQ JobState to vendor-agnostic JobStatus */
353
+ protected _mapStatus(state: JobState | 'unknown'): JobStatus {
354
+ switch (state) {
355
+ case 'waiting':
356
+ case 'prioritized':
357
+ case 'waiting-children':
358
+ return 'pending'
359
+ case 'active':
360
+ return 'active'
361
+ case 'completed':
362
+ return 'completed'
363
+ case 'failed':
364
+ return 'failed'
365
+ case 'delayed':
366
+ return 'delayed'
367
+ default:
368
+ return 'unknown'
369
+ }
370
+ }
371
+
372
+ /** Map vendor-agnostic JobStatus to BullMQ JobType for queries */
373
+ protected _mapStatusToJobType(status: JobStatus): JobType[] {
374
+ switch (status) {
375
+ case 'pending':
376
+ return ['waiting', 'prioritized', 'waiting-children']
377
+ case 'active':
378
+ return ['active']
379
+ case 'completed':
380
+ return ['completed']
381
+ case 'failed':
382
+ return ['failed']
383
+ case 'delayed':
384
+ return ['delayed']
385
+ case 'cancelled':
386
+ return [] // BullMQ doesn't have a cancelled state
387
+ case 'unknown':
388
+ default:
389
+ return []
346
390
  }
347
391
  }
348
392
  }