nestjs-temporal-core 3.0.1 → 3.0.3
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 +271 -140
- package/dist/client/temporal-client.module.d.ts +9 -3
- package/dist/client/temporal-client.module.js +43 -13
- package/dist/client/temporal-client.module.js.map +1 -1
- package/dist/client/temporal-client.service.d.ts +10 -3
- package/dist/client/temporal-client.service.js +15 -6
- package/dist/client/temporal-client.service.js.map +1 -1
- package/dist/client/temporal-schedule.service.d.ts +21 -5
- package/dist/client/temporal-schedule.service.js +42 -10
- package/dist/client/temporal-schedule.service.js.map +1 -1
- package/dist/constants.d.ts +47 -70
- package/dist/constants.js +51 -74
- package/dist/constants.js.map +1 -1
- package/dist/decorators/activity.decorator.d.ts +3 -0
- package/dist/decorators/activity.decorator.js +39 -0
- package/dist/decorators/activity.decorator.js.map +1 -0
- package/dist/decorators/index.d.ts +4 -5
- package/dist/decorators/index.js +17 -19
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/parameter.decorator.d.ts +7 -0
- package/dist/decorators/parameter.decorator.js +69 -0
- package/dist/decorators/parameter.decorator.js.map +1 -0
- package/dist/decorators/{scheduling.decorators.d.ts → scheduling.decorator.d.ts} +1 -1
- package/dist/decorators/{scheduling.decorators.js → scheduling.decorator.js} +24 -1
- package/dist/decorators/scheduling.decorator.js.map +1 -0
- package/dist/decorators/workflow.decorator.d.ts +3 -0
- package/dist/decorators/workflow.decorator.js +58 -0
- package/dist/decorators/workflow.decorator.js.map +1 -0
- package/dist/discovery/index.d.ts +2 -2
- package/dist/discovery/index.js +2 -2
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/{workflow-discovery.service.d.ts → temporal-discovery.service.d.ts} +21 -18
- package/dist/discovery/temporal-discovery.service.js +190 -0
- package/dist/discovery/temporal-discovery.service.js.map +1 -0
- package/dist/discovery/{schedule-manager.service.d.ts → temporal-schedule-manager.service.d.ts} +20 -15
- package/dist/discovery/{schedule-manager.service.js → temporal-schedule-manager.service.js} +96 -76
- package/dist/discovery/temporal-schedule-manager.service.js.map +1 -0
- package/dist/index.d.ts +6 -11
- package/dist/index.js +16 -16
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +193 -0
- package/dist/interfaces.js +9 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/temporal.module.d.ts +2 -1
- package/dist/temporal.module.js +84 -49
- package/dist/temporal.module.js.map +1 -1
- package/dist/temporal.service.d.ts +34 -26
- package/dist/temporal.service.js +76 -47
- package/dist/temporal.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/worker/index.d.ts +1 -1
- package/dist/worker/index.js +1 -1
- package/dist/worker/index.js.map +1 -1
- package/dist/worker/temporal-metadata.accessor.d.ts +13 -5
- package/dist/worker/temporal-metadata.accessor.js +38 -26
- package/dist/worker/temporal-metadata.accessor.js.map +1 -1
- package/dist/worker/{worker-manager.service.d.ts → temporal-worker-manager.service.d.ts} +13 -4
- package/dist/worker/{worker-manager.service.js → temporal-worker-manager.service.js} +58 -22
- package/dist/worker/temporal-worker-manager.service.js.map +1 -0
- package/dist/worker/temporal-worker.module.d.ts +14 -4
- package/dist/worker/temporal-worker.module.js +81 -15
- package/dist/worker/temporal-worker.module.js.map +1 -1
- package/package.json +12 -6
- package/dist/decorators/communication.decorators.d.ts +0 -5
- package/dist/decorators/communication.decorators.js +0 -66
- package/dist/decorators/communication.decorators.js.map +0 -1
- package/dist/decorators/core.decorators.d.ts +0 -6
- package/dist/decorators/core.decorators.js +0 -87
- package/dist/decorators/core.decorators.js.map +0 -1
- package/dist/decorators/parameter.decorators.d.ts +0 -2
- package/dist/decorators/parameter.decorators.js +0 -29
- package/dist/decorators/parameter.decorators.js.map +0 -1
- package/dist/decorators/scheduling.decorators.js.map +0 -1
- package/dist/decorators/workflow-starter.decorator.d.ts +0 -2
- package/dist/decorators/workflow-starter.decorator.js +0 -14
- package/dist/decorators/workflow-starter.decorator.js.map +0 -1
- package/dist/discovery/schedule-manager.service.js.map +0 -1
- package/dist/discovery/workflow-discovery.service.js +0 -216
- package/dist/discovery/workflow-discovery.service.js.map +0 -1
- package/dist/interfaces/activity.interface.d.ts +0 -8
- package/dist/interfaces/activity.interface.js +0 -3
- package/dist/interfaces/activity.interface.js.map +0 -1
- package/dist/interfaces/core.interface.d.ts +0 -112
- package/dist/interfaces/core.interface.js +0 -3
- package/dist/interfaces/core.interface.js.map +0 -1
- package/dist/interfaces/discovery.interface.d.ts +0 -61
- package/dist/interfaces/discovery.interface.js +0 -3
- package/dist/interfaces/discovery.interface.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -9
- package/dist/interfaces/index.js +0 -29
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interfaces/scheduling.interface.d.ts +0 -17
- package/dist/interfaces/scheduling.interface.js +0 -3
- package/dist/interfaces/scheduling.interface.js.map +0 -1
- package/dist/interfaces/worker.interface.d.ts +0 -23
- package/dist/interfaces/worker.interface.js +0 -3
- package/dist/interfaces/worker.interface.js.map +0 -1
- package/dist/interfaces/workflow.interface.d.ts +0 -55
- package/dist/interfaces/workflow.interface.js +0 -3
- package/dist/interfaces/workflow.interface.js.map +0 -1
- package/dist/worker/worker-manager.service.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DynamicModule } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { TemporalAsyncOptions, TemporalOptions } from './interfaces';
|
|
3
3
|
export declare class TemporalModule {
|
|
4
4
|
static register(options: TemporalOptions): DynamicModule;
|
|
5
5
|
static registerAsync(options: TemporalAsyncOptions): DynamicModule;
|
|
@@ -15,6 +15,7 @@ export declare class TemporalModule {
|
|
|
15
15
|
activityClasses?: any[];
|
|
16
16
|
isGlobal?: boolean;
|
|
17
17
|
}): DynamicModule;
|
|
18
|
+
static withFullFeatures(options: TemporalOptions): DynamicModule;
|
|
18
19
|
private static processOptions;
|
|
19
20
|
private static validateOptions;
|
|
20
21
|
private static validateAsyncOptions;
|
package/dist/temporal.module.js
CHANGED
|
@@ -10,80 +10,98 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.TemporalModule = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const core_1 = require("@nestjs/core");
|
|
13
|
-
const temporal_client_module_1 = require("./client/temporal-client.module");
|
|
14
|
-
const temporal_worker_module_1 = require("./worker/temporal-worker.module");
|
|
15
13
|
const temporal_service_1 = require("./temporal.service");
|
|
16
|
-
const workflow_discovery_service_1 = require("./discovery/workflow-discovery.service");
|
|
17
|
-
const schedule_manager_service_1 = require("./discovery/schedule-manager.service");
|
|
18
14
|
const constants_1 = require("./constants");
|
|
15
|
+
const client_1 = require("./client");
|
|
16
|
+
const worker_1 = require("./worker");
|
|
17
|
+
const discovery_1 = require("./discovery");
|
|
19
18
|
let TemporalModule = TemporalModule_1 = class TemporalModule {
|
|
20
19
|
static register(options) {
|
|
21
20
|
const { clientOptions, workerOptions } = this.processOptions(options);
|
|
22
|
-
const imports = [
|
|
21
|
+
const imports = [client_1.TemporalClientModule.register(clientOptions)];
|
|
23
22
|
if (workerOptions) {
|
|
24
|
-
imports.push(
|
|
23
|
+
imports.push(worker_1.TemporalWorkerModule.register(options));
|
|
25
24
|
}
|
|
26
25
|
return {
|
|
27
26
|
module: TemporalModule_1,
|
|
28
27
|
imports,
|
|
29
28
|
providers: [
|
|
30
|
-
temporal_service_1.TemporalService,
|
|
31
29
|
core_1.DiscoveryService,
|
|
32
30
|
core_1.MetadataScanner,
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
discovery_1.TemporalDiscoveryService,
|
|
32
|
+
discovery_1.TemporalScheduleManagerService,
|
|
33
|
+
temporal_service_1.TemporalService,
|
|
35
34
|
],
|
|
36
|
-
exports: [temporal_service_1.TemporalService
|
|
35
|
+
exports: [temporal_service_1.TemporalService],
|
|
37
36
|
global: options.isGlobal,
|
|
38
37
|
};
|
|
39
38
|
}
|
|
40
39
|
static registerAsync(options) {
|
|
41
40
|
this.validateAsyncOptions(options);
|
|
41
|
+
const imports = [
|
|
42
|
+
...(options.imports || []),
|
|
43
|
+
client_1.TemporalClientModule.registerAsync({
|
|
44
|
+
imports: options.imports,
|
|
45
|
+
useFactory: async (...args) => {
|
|
46
|
+
const temporalOptions = await this.createOptionsFromFactory(options, args);
|
|
47
|
+
const { clientOptions } = this.processOptions(temporalOptions);
|
|
48
|
+
return clientOptions;
|
|
49
|
+
},
|
|
50
|
+
inject: options.inject,
|
|
51
|
+
}),
|
|
52
|
+
];
|
|
53
|
+
imports.push(worker_1.TemporalWorkerModule.registerAsync({
|
|
54
|
+
imports: options.imports,
|
|
55
|
+
useFactory: async (...args) => {
|
|
56
|
+
const temporalOptions = await this.createOptionsFromFactory(options, args);
|
|
57
|
+
const { workerOptions } = this.processOptions(temporalOptions);
|
|
58
|
+
if (!workerOptions) {
|
|
59
|
+
return {
|
|
60
|
+
connection: temporalOptions.connection,
|
|
61
|
+
taskQueue: temporalOptions.taskQueue || constants_1.DEFAULT_TASK_QUEUE,
|
|
62
|
+
worker: { activityClasses: [] },
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return temporalOptions;
|
|
66
|
+
},
|
|
67
|
+
inject: options.inject,
|
|
68
|
+
}));
|
|
69
|
+
return {
|
|
70
|
+
module: TemporalModule_1,
|
|
71
|
+
imports,
|
|
72
|
+
providers: [
|
|
73
|
+
core_1.DiscoveryService,
|
|
74
|
+
core_1.MetadataScanner,
|
|
75
|
+
discovery_1.TemporalDiscoveryService,
|
|
76
|
+
discovery_1.TemporalScheduleManagerService,
|
|
77
|
+
temporal_service_1.TemporalService,
|
|
78
|
+
],
|
|
79
|
+
exports: [temporal_service_1.TemporalService],
|
|
80
|
+
global: options.isGlobal,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
static forClient(options) {
|
|
42
84
|
return {
|
|
43
85
|
module: TemporalModule_1,
|
|
44
86
|
imports: [
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
useFactory: async (...args) => {
|
|
49
|
-
const temporalOptions = await this.createOptionsFromFactory(options, args);
|
|
50
|
-
const { clientOptions } = this.processOptions(temporalOptions);
|
|
51
|
-
return clientOptions;
|
|
52
|
-
},
|
|
53
|
-
inject: options.inject,
|
|
54
|
-
}),
|
|
55
|
-
temporal_worker_module_1.TemporalWorkerModule.registerAsync({
|
|
56
|
-
imports: options.imports,
|
|
57
|
-
useFactory: async (...args) => {
|
|
58
|
-
const temporalOptions = await this.createOptionsFromFactory(options, args);
|
|
59
|
-
const { workerOptions } = this.processOptions(temporalOptions);
|
|
60
|
-
if (!workerOptions) {
|
|
61
|
-
throw new Error('Worker configuration is required for async registration with worker');
|
|
62
|
-
}
|
|
63
|
-
return workerOptions;
|
|
64
|
-
},
|
|
65
|
-
inject: options.inject,
|
|
87
|
+
client_1.TemporalClientModule.register({
|
|
88
|
+
connection: options.connection,
|
|
89
|
+
isGlobal: options.isGlobal,
|
|
66
90
|
}),
|
|
67
91
|
],
|
|
68
92
|
providers: [
|
|
69
|
-
temporal_service_1.TemporalService,
|
|
70
93
|
core_1.DiscoveryService,
|
|
71
94
|
core_1.MetadataScanner,
|
|
72
|
-
|
|
73
|
-
|
|
95
|
+
discovery_1.TemporalDiscoveryService,
|
|
96
|
+
discovery_1.TemporalScheduleManagerService,
|
|
97
|
+
temporal_service_1.TemporalService,
|
|
74
98
|
],
|
|
75
|
-
exports: [temporal_service_1.TemporalService
|
|
99
|
+
exports: [temporal_service_1.TemporalService],
|
|
76
100
|
global: options.isGlobal,
|
|
77
101
|
};
|
|
78
102
|
}
|
|
79
|
-
static forClient(options) {
|
|
80
|
-
return this.register({
|
|
81
|
-
connection: options.connection,
|
|
82
|
-
isGlobal: options.isGlobal,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
103
|
static forWorker(options) {
|
|
86
|
-
|
|
104
|
+
const temporalOptions = {
|
|
87
105
|
connection: options.connection,
|
|
88
106
|
taskQueue: options.taskQueue,
|
|
89
107
|
worker: {
|
|
@@ -92,26 +110,43 @@ let TemporalModule = TemporalModule_1 = class TemporalModule {
|
|
|
92
110
|
activityClasses: options.activityClasses,
|
|
93
111
|
},
|
|
94
112
|
isGlobal: options.isGlobal,
|
|
95
|
-
}
|
|
113
|
+
};
|
|
114
|
+
return {
|
|
115
|
+
module: TemporalModule_1,
|
|
116
|
+
imports: [
|
|
117
|
+
client_1.TemporalClientModule.register(temporalOptions),
|
|
118
|
+
worker_1.TemporalWorkerModule.register(temporalOptions),
|
|
119
|
+
],
|
|
120
|
+
providers: [
|
|
121
|
+
core_1.DiscoveryService,
|
|
122
|
+
core_1.MetadataScanner,
|
|
123
|
+
discovery_1.TemporalDiscoveryService,
|
|
124
|
+
discovery_1.TemporalScheduleManagerService,
|
|
125
|
+
temporal_service_1.TemporalService,
|
|
126
|
+
],
|
|
127
|
+
exports: [temporal_service_1.TemporalService],
|
|
128
|
+
global: options.isGlobal,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
static withFullFeatures(options) {
|
|
132
|
+
return this.register(options);
|
|
96
133
|
}
|
|
97
134
|
static processOptions(options) {
|
|
98
135
|
this.validateOptions(options);
|
|
99
136
|
const clientOptions = {
|
|
100
137
|
connection: options.connection,
|
|
101
|
-
|
|
102
|
-
allowConnectionFailure: true,
|
|
138
|
+
allowConnectionFailure: options.allowConnectionFailure !== false,
|
|
103
139
|
};
|
|
104
140
|
let workerOptions = null;
|
|
105
141
|
if (options.worker) {
|
|
106
142
|
workerOptions = {
|
|
107
143
|
connection: options.connection,
|
|
108
|
-
namespace: options.connection.namespace,
|
|
109
144
|
taskQueue: options.taskQueue || constants_1.DEFAULT_TASK_QUEUE,
|
|
110
145
|
workflowsPath: options.worker.workflowsPath,
|
|
111
146
|
workflowBundle: options.worker.workflowBundle,
|
|
112
147
|
activityClasses: options.worker.activityClasses,
|
|
113
148
|
autoStart: options.worker.autoStart !== false,
|
|
114
|
-
allowWorkerFailure:
|
|
149
|
+
allowWorkerFailure: options.allowConnectionFailure !== false,
|
|
115
150
|
workerOptions: options.worker.workerOptions,
|
|
116
151
|
};
|
|
117
152
|
}
|
|
@@ -141,10 +176,10 @@ let TemporalModule = TemporalModule_1 = class TemporalModule {
|
|
|
141
176
|
const hasExisting = Boolean(options.useExisting);
|
|
142
177
|
const configMethods = [hasFactory, hasClass, hasExisting].filter(Boolean).length;
|
|
143
178
|
if (configMethods === 0) {
|
|
144
|
-
throw new Error(constants_1.ERRORS.INVALID_OPTIONS
|
|
179
|
+
throw new Error(`${constants_1.ERRORS.INVALID_OPTIONS}: Must provide useFactory, useClass, or useExisting`);
|
|
145
180
|
}
|
|
146
181
|
if (configMethods > 1) {
|
|
147
|
-
throw new Error(constants_1.ERRORS.INVALID_OPTIONS
|
|
182
|
+
throw new Error(`${constants_1.ERRORS.INVALID_OPTIONS}: Cannot provide multiple configuration methods`);
|
|
148
183
|
}
|
|
149
184
|
}
|
|
150
185
|
static async createOptionsFromFactory(options, args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal.module.js","sourceRoot":"","sources":["../src/temporal.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,uCAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"temporal.module.js","sourceRoot":"","sources":["../src/temporal.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
import { OnModuleInit } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
import { TemporalScheduleService } from './client
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { ScheduleManagerService } from './discovery/schedule-manager.service';
|
|
7
|
-
import { StartWorkflowOptions, DiscoveryStats, ScheduleStats, WorkflowMethodInfo, ScheduledMethodInfo, WorkerStatus } from './interfaces';
|
|
2
|
+
import { DiscoveryStats, ScheduledMethodInfo, ScheduleStats, StartWorkflowOptions, SystemStatus, WorkerStatus } from './interfaces';
|
|
3
|
+
import { TemporalClientService, TemporalScheduleService } from './client';
|
|
4
|
+
import { TemporalDiscoveryService, TemporalScheduleManagerService } from './discovery';
|
|
5
|
+
import { TemporalWorkerManagerService } from './worker';
|
|
8
6
|
export declare class TemporalService implements OnModuleInit {
|
|
9
7
|
private readonly clientService;
|
|
10
8
|
private readonly scheduleService;
|
|
11
|
-
private readonly
|
|
9
|
+
private readonly discoveryService;
|
|
12
10
|
private readonly scheduleManager;
|
|
13
11
|
private readonly workerManager?;
|
|
14
12
|
private readonly logger;
|
|
15
|
-
constructor(clientService: TemporalClientService, scheduleService: TemporalScheduleService,
|
|
13
|
+
constructor(clientService: TemporalClientService, scheduleService: TemporalScheduleService, discoveryService: TemporalDiscoveryService, scheduleManager: TemporalScheduleManagerService, workerManager?: TemporalWorkerManagerService | undefined);
|
|
16
14
|
onModuleInit(): Promise<void>;
|
|
17
15
|
getClient(): TemporalClientService;
|
|
18
16
|
getScheduleService(): TemporalScheduleService;
|
|
19
|
-
getScheduleManager():
|
|
20
|
-
|
|
21
|
-
getWorkerManager():
|
|
22
|
-
startWorkflow<T, A extends any[]>(workflowType: string, args: A, options
|
|
17
|
+
getScheduleManager(): TemporalScheduleManagerService;
|
|
18
|
+
getDiscoveryService(): TemporalDiscoveryService;
|
|
19
|
+
getWorkerManager(): TemporalWorkerManagerService | undefined;
|
|
20
|
+
startWorkflow<T, A extends any[]>(workflowType: string, args: A, options: StartWorkflowOptions): Promise<{
|
|
23
21
|
result: Promise<T>;
|
|
24
22
|
workflowId: string;
|
|
25
23
|
firstExecutionRunId: string;
|
|
@@ -33,11 +31,8 @@ export declare class TemporalService implements OnModuleInit {
|
|
|
33
31
|
pauseSchedule(scheduleId: string, note?: string): Promise<void>;
|
|
34
32
|
resumeSchedule(scheduleId: string, note?: string): Promise<void>;
|
|
35
33
|
deleteSchedule(scheduleId: string, force?: boolean): Promise<void>;
|
|
36
|
-
getAvailableWorkflows(): string[];
|
|
37
|
-
getWorkflowInfo(workflowName: string): WorkflowMethodInfo | undefined;
|
|
38
34
|
getManagedSchedules(): string[];
|
|
39
35
|
getScheduleInfo(scheduleId: string): ScheduledMethodInfo | undefined;
|
|
40
|
-
hasWorkflow(workflowName: string): boolean;
|
|
41
36
|
hasSchedule(scheduleId: string): boolean;
|
|
42
37
|
hasWorker(): boolean;
|
|
43
38
|
getWorkerStatus(): WorkerStatus | null;
|
|
@@ -48,19 +43,32 @@ export declare class TemporalService implements OnModuleInit {
|
|
|
48
43
|
}>;
|
|
49
44
|
getDiscoveryStats(): DiscoveryStats;
|
|
50
45
|
getScheduleStats(): ScheduleStats;
|
|
51
|
-
getSystemStatus(): Promise<
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
46
|
+
getSystemStatus(): Promise<SystemStatus>;
|
|
47
|
+
getOverallHealth(): Promise<{
|
|
48
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
49
|
+
components: {
|
|
50
|
+
client: {
|
|
51
|
+
status: string;
|
|
52
|
+
healthy: boolean;
|
|
53
|
+
};
|
|
54
|
+
worker: {
|
|
55
|
+
status: string;
|
|
56
|
+
available: boolean;
|
|
57
|
+
};
|
|
58
|
+
discovery: {
|
|
59
|
+
status: string;
|
|
60
|
+
scheduled: number;
|
|
61
|
+
};
|
|
62
|
+
schedules: {
|
|
63
|
+
status: string;
|
|
64
|
+
active: number;
|
|
65
|
+
errors: number;
|
|
66
|
+
};
|
|
60
67
|
};
|
|
61
|
-
discovery: DiscoveryStats;
|
|
62
|
-
schedules: ScheduleStats;
|
|
63
68
|
}>;
|
|
69
|
+
getAvailableWorkflows(): string[];
|
|
70
|
+
getWorkflowInfo(workflowName: string): any;
|
|
71
|
+
hasWorkflow(workflowName: string): boolean;
|
|
64
72
|
private enhanceWorkflowOptions;
|
|
65
73
|
private validateWorkflowExists;
|
|
66
74
|
private validateScheduleExists;
|
package/dist/temporal.service.js
CHANGED
|
@@ -11,23 +11,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
|
+
var TemporalService_1;
|
|
14
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
16
|
exports.TemporalService = void 0;
|
|
16
17
|
const common_1 = require("@nestjs/common");
|
|
17
|
-
const temporal_client_service_1 = require("./client/temporal-client.service");
|
|
18
|
-
const temporal_schedule_service_1 = require("./client/temporal-schedule.service");
|
|
19
|
-
const worker_manager_service_1 = require("./worker/worker-manager.service");
|
|
20
|
-
const workflow_discovery_service_1 = require("./discovery/workflow-discovery.service");
|
|
21
|
-
const schedule_manager_service_1 = require("./discovery/schedule-manager.service");
|
|
22
18
|
const constants_1 = require("./constants");
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
const client_1 = require("./client");
|
|
20
|
+
const discovery_1 = require("./discovery");
|
|
21
|
+
const worker_1 = require("./worker");
|
|
22
|
+
let TemporalService = TemporalService_1 = class TemporalService {
|
|
23
|
+
constructor(clientService, scheduleService, discoveryService, scheduleManager, workerManager) {
|
|
25
24
|
this.clientService = clientService;
|
|
26
25
|
this.scheduleService = scheduleService;
|
|
27
|
-
this.
|
|
26
|
+
this.discoveryService = discoveryService;
|
|
28
27
|
this.scheduleManager = scheduleManager;
|
|
29
28
|
this.workerManager = workerManager;
|
|
30
|
-
this.logger = new common_1.Logger(
|
|
29
|
+
this.logger = new common_1.Logger(TemporalService_1.name);
|
|
31
30
|
}
|
|
32
31
|
async onModuleInit() {
|
|
33
32
|
await this.logInitializationSummary();
|
|
@@ -41,14 +40,14 @@ let TemporalService = class TemporalService {
|
|
|
41
40
|
getScheduleManager() {
|
|
42
41
|
return this.scheduleManager;
|
|
43
42
|
}
|
|
44
|
-
|
|
45
|
-
return this.
|
|
43
|
+
getDiscoveryService() {
|
|
44
|
+
return this.discoveryService;
|
|
46
45
|
}
|
|
47
46
|
getWorkerManager() {
|
|
48
47
|
return this.workerManager;
|
|
49
48
|
}
|
|
50
|
-
async startWorkflow(workflowType, args, options
|
|
51
|
-
const enhancedOptions =
|
|
49
|
+
async startWorkflow(workflowType, args, options) {
|
|
50
|
+
const enhancedOptions = this.enhanceWorkflowOptions(options);
|
|
52
51
|
this.logger.debug(`Starting workflow: ${workflowType} with options: ${JSON.stringify(enhancedOptions)}`);
|
|
53
52
|
return this.clientService.startWorkflow(workflowType, args, enhancedOptions);
|
|
54
53
|
}
|
|
@@ -92,23 +91,14 @@ let TemporalService = class TemporalService {
|
|
|
92
91
|
this.logger.warn(`Deleting schedule ${scheduleId}. This action cannot be undone. Use force=true to confirm.`);
|
|
93
92
|
return;
|
|
94
93
|
}
|
|
95
|
-
await this.scheduleManager.deleteSchedule(scheduleId);
|
|
94
|
+
await this.scheduleManager.deleteSchedule(scheduleId, force);
|
|
96
95
|
this.logger.log(`Deleted schedule: ${scheduleId}`);
|
|
97
96
|
}
|
|
98
|
-
getAvailableWorkflows() {
|
|
99
|
-
return this.workflowDiscovery.getWorkflowNames();
|
|
100
|
-
}
|
|
101
|
-
getWorkflowInfo(workflowName) {
|
|
102
|
-
return this.workflowDiscovery.getWorkflowMethod(workflowName);
|
|
103
|
-
}
|
|
104
97
|
getManagedSchedules() {
|
|
105
98
|
return this.scheduleManager.getManagedSchedules();
|
|
106
99
|
}
|
|
107
100
|
getScheduleInfo(scheduleId) {
|
|
108
|
-
return this.
|
|
109
|
-
}
|
|
110
|
-
hasWorkflow(workflowName) {
|
|
111
|
-
return this.workflowDiscovery.hasWorkflow(workflowName);
|
|
101
|
+
return this.discoveryService.getScheduledWorkflow(scheduleId);
|
|
112
102
|
}
|
|
113
103
|
hasSchedule(scheduleId) {
|
|
114
104
|
return this.scheduleManager.isScheduleManaged(scheduleId);
|
|
@@ -134,7 +124,7 @@ let TemporalService = class TemporalService {
|
|
|
134
124
|
return health;
|
|
135
125
|
}
|
|
136
126
|
getDiscoveryStats() {
|
|
137
|
-
return this.
|
|
127
|
+
return this.discoveryService.getStats();
|
|
138
128
|
}
|
|
139
129
|
getScheduleStats() {
|
|
140
130
|
return this.scheduleManager.getScheduleStats();
|
|
@@ -145,7 +135,7 @@ let TemporalService = class TemporalService {
|
|
|
145
135
|
return {
|
|
146
136
|
client: {
|
|
147
137
|
available: clientAvailable,
|
|
148
|
-
healthy:
|
|
138
|
+
healthy: this.clientService.isHealthy(),
|
|
149
139
|
},
|
|
150
140
|
worker: {
|
|
151
141
|
available: this.hasWorker(),
|
|
@@ -156,22 +146,61 @@ let TemporalService = class TemporalService {
|
|
|
156
146
|
schedules: this.getScheduleStats(),
|
|
157
147
|
};
|
|
158
148
|
}
|
|
159
|
-
async
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
149
|
+
async getOverallHealth() {
|
|
150
|
+
const systemStatus = await this.getSystemStatus();
|
|
151
|
+
const discoveryHealth = this.discoveryService.getHealthStatus();
|
|
152
|
+
const scheduleHealth = this.scheduleManager.getHealthStatus();
|
|
153
|
+
const components = {
|
|
154
|
+
client: {
|
|
155
|
+
status: systemStatus.client.healthy ? 'healthy' : 'unhealthy',
|
|
156
|
+
healthy: systemStatus.client.healthy,
|
|
157
|
+
},
|
|
158
|
+
worker: {
|
|
159
|
+
status: systemStatus.worker.health || 'not_available',
|
|
160
|
+
available: systemStatus.worker.available,
|
|
161
|
+
},
|
|
162
|
+
discovery: {
|
|
163
|
+
status: discoveryHealth.status,
|
|
164
|
+
scheduled: discoveryHealth.discoveredItems.scheduled,
|
|
165
|
+
},
|
|
166
|
+
schedules: {
|
|
167
|
+
status: scheduleHealth.status,
|
|
168
|
+
active: scheduleHealth.activeSchedules,
|
|
169
|
+
errors: scheduleHealth.errorCount,
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
let overallStatus = 'healthy';
|
|
173
|
+
if (!systemStatus.client.healthy) {
|
|
174
|
+
overallStatus = 'unhealthy';
|
|
175
|
+
}
|
|
176
|
+
else if (scheduleHealth.status === 'unhealthy' ||
|
|
177
|
+
systemStatus.worker.health === 'unhealthy') {
|
|
178
|
+
overallStatus = 'degraded';
|
|
170
179
|
}
|
|
171
180
|
return {
|
|
172
|
-
|
|
173
|
-
|
|
181
|
+
status: overallStatus,
|
|
182
|
+
components,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
getAvailableWorkflows() {
|
|
186
|
+
this.logger.warn('getAvailableWorkflows() is deprecated - workflow discovery is no longer supported');
|
|
187
|
+
return [];
|
|
188
|
+
}
|
|
189
|
+
getWorkflowInfo(workflowName) {
|
|
190
|
+
this.logger.warn('getWorkflowInfo() is deprecated - workflow info is no longer supported');
|
|
191
|
+
return undefined;
|
|
192
|
+
}
|
|
193
|
+
hasWorkflow(workflowName) {
|
|
194
|
+
this.logger.warn('hasWorkflow() is deprecated - workflow existence check is no longer supported');
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
enhanceWorkflowOptions(options) {
|
|
198
|
+
const { taskQueue, ...restOptions } = options;
|
|
199
|
+
const enhancedOptions = {
|
|
200
|
+
taskQueue: taskQueue || constants_1.DEFAULT_TASK_QUEUE,
|
|
201
|
+
...restOptions,
|
|
174
202
|
};
|
|
203
|
+
return enhancedOptions;
|
|
175
204
|
}
|
|
176
205
|
validateWorkflowExists(workflowId) {
|
|
177
206
|
if (!workflowId || typeof workflowId !== 'string') {
|
|
@@ -186,8 +215,8 @@ let TemporalService = class TemporalService {
|
|
|
186
215
|
async logInitializationSummary() {
|
|
187
216
|
const stats = this.getDiscoveryStats();
|
|
188
217
|
const scheduleStats = this.getScheduleStats();
|
|
189
|
-
this.logger.log('
|
|
190
|
-
this.logger.log(`Discovered: ${stats.
|
|
218
|
+
this.logger.log('Streamlined Temporal service initialized');
|
|
219
|
+
this.logger.log(`Discovered: ${stats.scheduled} scheduled workflows, ${stats.signals} signals, ${stats.queries} queries`);
|
|
191
220
|
this.logger.log(`Schedules: ${scheduleStats.total} total, ${scheduleStats.active} active`);
|
|
192
221
|
if (this.workerManager) {
|
|
193
222
|
const workerStatus = this.workerManager.getWorkerStatus();
|
|
@@ -200,13 +229,13 @@ let TemporalService = class TemporalService {
|
|
|
200
229
|
}
|
|
201
230
|
};
|
|
202
231
|
exports.TemporalService = TemporalService;
|
|
203
|
-
exports.TemporalService = TemporalService = __decorate([
|
|
232
|
+
exports.TemporalService = TemporalService = TemporalService_1 = __decorate([
|
|
204
233
|
(0, common_1.Injectable)(),
|
|
205
234
|
__param(4, (0, common_1.Optional)()),
|
|
206
|
-
__metadata("design:paramtypes", [
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
235
|
+
__metadata("design:paramtypes", [client_1.TemporalClientService,
|
|
236
|
+
client_1.TemporalScheduleService,
|
|
237
|
+
discovery_1.TemporalDiscoveryService,
|
|
238
|
+
discovery_1.TemporalScheduleManagerService,
|
|
239
|
+
worker_1.TemporalWorkerManagerService])
|
|
211
240
|
], TemporalService);
|
|
212
241
|
//# sourceMappingURL=temporal.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal.service.js","sourceRoot":"","sources":["../src/temporal.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"temporal.service.js","sourceRoot":"","sources":["../src/temporal.service.ts"],"names":[],"mappings":"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"}
|