nmtjs 0.15.0-beta.20 → 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.
- package/dist/index.d.ts +2 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/injectables.d.ts +5 -0
- package/dist/runtime/injectables.js +4 -0
- package/dist/runtime/injectables.js.map +1 -1
- package/dist/runtime/jobs/manager.d.ts +19 -16
- package/dist/runtime/jobs/manager.js +74 -18
- package/dist/runtime/jobs/manager.js.map +1 -1
- package/dist/runtime/jobs/router.d.ts +36 -10
- package/dist/runtime/jobs/router.js +64 -13
- package/dist/runtime/jobs/router.js.map +1 -1
- package/dist/runtime/jobs/runner.d.ts +27 -4
- package/dist/runtime/jobs/runner.js +74 -11
- package/dist/runtime/jobs/runner.js.map +1 -1
- package/dist/runtime/jobs/step.d.ts +1 -0
- package/dist/runtime/jobs/step.js.map +1 -1
- package/dist/runtime/jobs/types.d.ts +80 -0
- package/dist/runtime/jobs/types.js +5 -0
- package/dist/runtime/jobs/types.js.map +1 -0
- package/dist/runtime/server/jobs.js +19 -10
- package/dist/runtime/server/jobs.js.map +1 -1
- package/dist/runtime/workers/job.js.map +1 -1
- package/package.json +12 -12
- package/src/runtime/index.ts +1 -0
- package/src/runtime/injectables.ts +13 -0
- package/src/runtime/jobs/manager.ts +97 -37
- package/src/runtime/jobs/router.ts +117 -23
- package/src/runtime/jobs/runner.ts +120 -15
- package/src/runtime/jobs/step.ts +1 -0
- package/src/runtime/jobs/types.ts +110 -0
- package/src/runtime/server/jobs.ts +26 -10
- package/src/runtime/workers/job.ts +2 -7
|
@@ -3,13 +3,11 @@ import type { Job } from 'bullmq';
|
|
|
3
3
|
import type { LifecycleHooks } from '../core/hooks.ts';
|
|
4
4
|
import type { AnyJob } from './job.ts';
|
|
5
5
|
import type { AnyJobStep } from './step.ts';
|
|
6
|
+
import type { JobExecutionContext, StepResultEntry } from './types.ts';
|
|
6
7
|
export type JobRunnerOptions = {
|
|
7
8
|
logging?: LoggingOptions;
|
|
8
9
|
};
|
|
9
|
-
export
|
|
10
|
-
data: Record<string, unknown> | null;
|
|
11
|
-
duration: number;
|
|
12
|
-
}
|
|
10
|
+
export type { StepResultEntry } from './types.ts';
|
|
13
11
|
export interface JobRunnerRunOptions {
|
|
14
12
|
signal: AbortSignal;
|
|
15
13
|
result: Record<string, unknown>;
|
|
@@ -28,6 +26,15 @@ export interface JobRunnerRunBeforeStepParams<Options extends JobRunnerRunOption
|
|
|
28
26
|
export interface JobRunnerRunAfterStepParams<Options extends JobRunnerRunOptions> extends JobRunnerRunBeforeStepParams<Options> {
|
|
29
27
|
stepResult: StepResultEntry;
|
|
30
28
|
}
|
|
29
|
+
/** Context for saveProgress function - contains mutable state references */
|
|
30
|
+
export interface SaveProgressContext<Options extends JobRunnerRunOptions = JobRunnerRunOptions> {
|
|
31
|
+
job: AnyJob;
|
|
32
|
+
progress: Record<string, unknown>;
|
|
33
|
+
result: Record<string, unknown>;
|
|
34
|
+
stepResults: StepResultEntry[] | null;
|
|
35
|
+
currentStepIndex: number;
|
|
36
|
+
options: Options | null;
|
|
37
|
+
}
|
|
31
38
|
export declare class JobRunner<RunOptions extends JobRunnerRunOptions = JobRunnerRunOptions> {
|
|
32
39
|
protected runtime: {
|
|
33
40
|
logger: Logger;
|
|
@@ -41,6 +48,16 @@ export declare class JobRunner<RunOptions extends JobRunnerRunOptions = JobRunne
|
|
|
41
48
|
lifecycleHooks: LifecycleHooks;
|
|
42
49
|
});
|
|
43
50
|
get container(): Container;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a function that saves the current job progress state.
|
|
53
|
+
* Override in subclasses to implement actual persistence.
|
|
54
|
+
*/
|
|
55
|
+
protected createSaveProgressFn(_context: SaveProgressContext<RunOptions>): () => Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Creates the current job info object.
|
|
58
|
+
* Override in subclasses to include additional info (e.g., BullMQ job ID).
|
|
59
|
+
*/
|
|
60
|
+
protected createJobInfo(job: AnyJob, _options: Partial<RunOptions>): JobExecutionContext;
|
|
44
61
|
runJob<T extends AnyJob>(job: T, data: any, options?: Partial<RunOptions>): Promise<T['_']['output']>;
|
|
45
62
|
protected beforeStep(params: JobRunnerRunBeforeStepParams<RunOptions>): Promise<void>;
|
|
46
63
|
protected afterStep(params: JobRunnerRunAfterStepParams<RunOptions>): Promise<void>;
|
|
@@ -58,6 +75,12 @@ export declare class ApplicationWorkerJobRunner extends JobRunner<JobRunnerRunOp
|
|
|
58
75
|
container: Container;
|
|
59
76
|
lifecycleHooks: LifecycleHooks;
|
|
60
77
|
});
|
|
78
|
+
protected createJobInfo(job: AnyJob, options: Partial<JobRunnerRunOptions & {
|
|
79
|
+
queueJob: Job;
|
|
80
|
+
}>): JobExecutionContext;
|
|
81
|
+
protected createSaveProgressFn(context: SaveProgressContext<JobRunnerRunOptions & {
|
|
82
|
+
queueJob: Job;
|
|
83
|
+
}>): () => Promise<void>;
|
|
61
84
|
protected afterStep(params: JobRunnerRunAfterStepParams<JobRunnerRunOptions & {
|
|
62
85
|
queueJob: Job;
|
|
63
86
|
}>): Promise<void>;
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/runtime/jobs/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export type AnyJobStep = JobStep<any, any, any, any, any>;
|
|
|
7
7
|
export type JobStepHandler<Deps extends Dependencies, Input extends AnyObjectLikeType, Output extends AnyObjectLikeType, Return, Data = any> = (context: DependencyContext<Deps>, input: t.infer.decode.output<Input>, data: Data) => MaybePromise<null extends Return ? t.infer.encode.input<Output> : Return>;
|
|
8
8
|
export interface JobStep<Input extends AnyObjectLikeType = AnyObjectLikeType, Output extends AnyObjectLikeType = AnyObjectLikeType, Deps extends Dependencies = Dependencies, Return = unknown, Data = any> extends Dependant {
|
|
9
9
|
[kJobStepKey]: any;
|
|
10
|
+
label?: string;
|
|
10
11
|
input: Input;
|
|
11
12
|
output: Output;
|
|
12
13
|
dependencies: Deps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/runtime/jobs/step.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/runtime/jobs/step.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AA+B7C,MAAM,UAAU,UAAU,CAMxB,IAMD;IACC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,CAAC,WAAW,CAAC,EAAE,IAAI;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAsB;QACzC,YAAY,EAAE,EAAU;QACxB,KAAK,EAAE,oBAAoB,EAAE;QAC7B,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAoB,CAAC,WAAW,CAAC,KAAK,IAAI,CAC5C,CAAA;AACH,CAAC"}
|
|
@@ -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 @@
|
|
|
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
|
-
|
|
152
|
+
// Stop accepting new jobs first.
|
|
153
|
+
await Promise.all([...this.queueWorkers].map(async (worker) => {
|
|
151
154
|
try {
|
|
152
|
-
|
|
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
|
|
165
|
+
logger.warn({ error }, 'Failed to close BullMQ worker');
|
|
156
166
|
}
|
|
157
167
|
}));
|
|
158
|
-
this.
|
|
159
|
-
this.
|
|
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
|
|
171
|
+
await queue.close();
|
|
164
172
|
}
|
|
165
173
|
catch (error) {
|
|
166
|
-
logger.warn({ error }, 'Failed to close
|
|
174
|
+
logger.warn({ error }, 'Failed to close Jobs UI queue');
|
|
167
175
|
}
|
|
168
176
|
}));
|
|
169
|
-
this.
|
|
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":"AAEA,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAO1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,OAAO,cAAe,SAAQ,IAAI;IAC5B,QAAQ,GAAG,CAAC,CAAA;IAEtB,KAAK,CAAC,GAAG,CAAC,IAAmB;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAA;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAA;QACf,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAiBrB;IAhBX;;OAEG;IACH,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,EAAE,CAAS;IACD,QAAQ,GAAY,EAAE,CAAA;IAEhC,IAAI,CAAqB;IAEzB;;;OAGG;IACO,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAA;IAE1D,YACW,MAKR;QALQ,WAAM,GAAN,MAAM,CAKd;QAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI;YAClC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;YAC/B,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IACf,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QACjE,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAA;QAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC,QAAQ,IAAI,WAAW,CAAA;YACtD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAA;YAEvC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CACzC,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;gBAC9B,UAAU,EAAE,KAA+B;aAC5C,CAAC,CACL,CAAA;YAED,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAErC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;gBACnE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC7B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;YACzC,CAAC,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAA;YACjC,MAAM,QAAQ,GACZ,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;gBACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;gBACnD,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAExB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAA;QACjD,CAAC;QAED,yDAAyD;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAE9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,CAAC,UAAU;gBAAE,SAAQ;YAEzB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC;gBAC9B,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,UAAU,EAAE,EAAE,GAAG,YAAY,CAAC,UAAU,EAAE;aAC3C,CAAC,CAAA;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC;oBACP,KAAK,EAAE,CAAC;oBACR,IAAI,EAAE,YAAY,QAAQ,EAAE;oBAC5B,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;iBACnE,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAE9B,MAAM,CAAC,IAAI,CACT;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,aAAa,EAAE,UAAU,CAAC,IAAI;aAC/B,EACD,yBAAyB,CAC1B,CAAA;QACH,CAAC;QAED,wDAAwD;QACxD,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAA;QACpD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAErC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EACjC,sDAAsD,CACvD,CAAA;gBACD,SAAQ;YACV,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAA;YACzD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrD,sFAAsF;YACtF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACjC,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,cAAc,CAAC,CAC1C,CAAA;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAA;YAEjE,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,SAAS,EACT,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChB,MAAM,IAAI,GAAkB;oBAC1B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;oBAC/B,OAAO,EAAE,OAAO,CAAC,IAAI;oBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB,CAAA;gBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACnC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,SAAS;wBACZ,OAAO,MAAM,CAAC,MAAM,CAAA;oBACtB,KAAK,qBAAqB;wBACxB,MAAM,IAAI,kBAAkB,CAC1B,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;4BAC9B,CAAC,CAAC,MAAM,CAAC,KAAK;4BACd,CAAC,CAAC,qBAAqB,CAC1B,CAAA;oBACH,KAAK,eAAe,CAAC;oBACrB,KAAK,qBAAqB;wBACxB,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC3C,KAAK,OAAO;wBACV,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBAC3B,MAAM,MAAM,CAAC,KAAK,CAAA;oBACpB;wBACE,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC,EACD,EAAE,UAAU,EAAE,KAA+B,EAAE,WAAW,EAAE,CAC7D,CAAA;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAClC,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAChE,0BAA0B,CAC3B,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;
|
|
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.
|
|
31
|
-
"@nmtjs/
|
|
32
|
-
"@nmtjs/
|
|
33
|
-
"@nmtjs/json-format": "0.15.0-beta.
|
|
34
|
-
"@nmtjs/protocol": "0.15.0-beta.
|
|
35
|
-
"@nmtjs/
|
|
36
|
-
"@nmtjs/
|
|
37
|
-
"@nmtjs/http-transport": "0.15.0-beta.
|
|
38
|
-
"@nmtjs/
|
|
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.
|
|
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.
|
|
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.
|
|
59
|
+
"version": "0.15.0-beta.22",
|
|
60
60
|
"scripts": {
|
|
61
61
|
"clean-build": "rm -rf ./dist",
|
|
62
62
|
"build": "tsc --declaration --sourcemap",
|
package/src/runtime/index.ts
CHANGED
|
@@ -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
|
}
|