nestjs-temporal-core 3.0.1 → 3.0.4
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 +274 -139
- 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
package/dist/worker/index.d.ts
CHANGED
package/dist/worker/index.js
CHANGED
|
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./temporal-worker.module"), exports);
|
|
18
|
-
__exportStar(require("./worker-manager.service"), exports);
|
|
18
|
+
__exportStar(require("./temporal-worker-manager.service"), exports);
|
|
19
19
|
__exportStar(require("./temporal-metadata.accessor"), exports);
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
package/dist/worker/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,2DAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,2DAAyC;AACzC,oEAAkD;AAClD,+DAA6C"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ActivityMethodHandler } from '../interfaces';
|
|
2
|
-
import { ActivityMetadata, ActivityMethodMetadata } from 'src/interfaces';
|
|
1
|
+
import { ActivityMetadata, ActivityMethodHandler, ActivityMethodMetadata } from '../interfaces';
|
|
3
2
|
export declare class TemporalMetadataAccessor {
|
|
4
3
|
private readonly logger;
|
|
5
4
|
private readonly activityClassCache;
|
|
@@ -12,12 +11,21 @@ export declare class TemporalMetadataAccessor {
|
|
|
12
11
|
extractActivityMethods(instance: any): Map<string, ActivityMethodHandler>;
|
|
13
12
|
getActivityMethodMetadata(instance: any, methodName: string): ActivityMethodMetadata | null;
|
|
14
13
|
getActivityMethodNames(target: any): string[];
|
|
14
|
+
getActivityInfo(target: any): {
|
|
15
|
+
isActivity: boolean;
|
|
16
|
+
activityOptions: ActivityMetadata | null;
|
|
17
|
+
methodNames: string[];
|
|
18
|
+
methodCount: number;
|
|
19
|
+
};
|
|
20
|
+
validateActivityClass(target: any): {
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
issues: string[];
|
|
23
|
+
};
|
|
15
24
|
clearCache(): void;
|
|
16
25
|
getCacheStats(): {
|
|
17
|
-
|
|
18
|
-
|
|
26
|
+
message: string;
|
|
27
|
+
note: string;
|
|
19
28
|
};
|
|
20
29
|
private getActivityMetadata;
|
|
21
30
|
private extractMethodsFromPrototype;
|
|
22
|
-
private validateMethodSignature;
|
|
23
31
|
}
|
|
@@ -5,13 +5,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var TemporalMetadataAccessor_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.TemporalMetadataAccessor = void 0;
|
|
10
11
|
const common_1 = require("@nestjs/common");
|
|
11
12
|
const constants_1 = require("../constants");
|
|
12
|
-
let TemporalMetadataAccessor = class TemporalMetadataAccessor {
|
|
13
|
+
let TemporalMetadataAccessor = TemporalMetadataAccessor_1 = class TemporalMetadataAccessor {
|
|
13
14
|
constructor() {
|
|
14
|
-
this.logger = new common_1.Logger(
|
|
15
|
+
this.logger = new common_1.Logger(TemporalMetadataAccessor_1.name);
|
|
15
16
|
this.activityClassCache = new WeakMap();
|
|
16
17
|
this.activityMethodCache = new WeakMap();
|
|
17
18
|
}
|
|
@@ -47,20 +48,22 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
|
|
|
47
48
|
if (!target || typeof target !== 'function') {
|
|
48
49
|
return null;
|
|
49
50
|
}
|
|
50
|
-
|
|
51
|
+
const metadata = Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD, target);
|
|
52
|
+
return metadata?.name || null;
|
|
51
53
|
}
|
|
52
54
|
getActivityMethodOptions(target) {
|
|
53
55
|
if (!target || typeof target !== 'function') {
|
|
54
56
|
return null;
|
|
55
57
|
}
|
|
56
|
-
|
|
58
|
+
const metadata = Reflect.getMetadata(constants_1.TEMPORAL_ACTIVITY_METHOD, target);
|
|
59
|
+
return metadata || null;
|
|
57
60
|
}
|
|
58
61
|
extractActivityMethods(instance) {
|
|
59
62
|
if (!instance || typeof instance !== 'object') {
|
|
60
63
|
this.logger.warn('Invalid instance provided to extractActivityMethods');
|
|
61
64
|
return new Map();
|
|
62
65
|
}
|
|
63
|
-
const constructor = instance
|
|
66
|
+
const { constructor } = instance;
|
|
64
67
|
if (this.activityMethodCache.has(constructor)) {
|
|
65
68
|
const cachedMethods = this.activityMethodCache.get(constructor);
|
|
66
69
|
const boundMethods = new Map();
|
|
@@ -86,7 +89,7 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
|
|
|
86
89
|
if (metadata && metadata.originalName === methodName) {
|
|
87
90
|
return {
|
|
88
91
|
...metadata,
|
|
89
|
-
handler
|
|
92
|
+
handler,
|
|
90
93
|
};
|
|
91
94
|
}
|
|
92
95
|
}
|
|
@@ -101,7 +104,7 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
|
|
|
101
104
|
if (cachedMethods) {
|
|
102
105
|
return Array.from(cachedMethods.keys());
|
|
103
106
|
}
|
|
104
|
-
const prototype = target
|
|
107
|
+
const { prototype } = target;
|
|
105
108
|
if (!prototype) {
|
|
106
109
|
return [];
|
|
107
110
|
}
|
|
@@ -123,13 +126,35 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
|
|
|
123
126
|
}
|
|
124
127
|
return methodNames;
|
|
125
128
|
}
|
|
129
|
+
getActivityInfo(target) {
|
|
130
|
+
return {
|
|
131
|
+
isActivity: this.isActivity(target),
|
|
132
|
+
activityOptions: this.getActivityOptions(target),
|
|
133
|
+
methodNames: this.getActivityMethodNames(target),
|
|
134
|
+
methodCount: this.getActivityMethodNames(target).length,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
validateActivityClass(target) {
|
|
138
|
+
const issues = [];
|
|
139
|
+
if (!this.isActivity(target)) {
|
|
140
|
+
issues.push('Class is not marked with @Activity decorator');
|
|
141
|
+
}
|
|
142
|
+
const methodNames = this.getActivityMethodNames(target);
|
|
143
|
+
if (methodNames.length === 0) {
|
|
144
|
+
issues.push('Activity class has no methods marked with @ActivityMethod');
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
isValid: issues.length === 0,
|
|
148
|
+
issues,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
126
151
|
clearCache() {
|
|
127
152
|
this.logger.debug('Metadata accessor cache cleared');
|
|
128
153
|
}
|
|
129
154
|
getCacheStats() {
|
|
130
155
|
return {
|
|
131
|
-
|
|
132
|
-
|
|
156
|
+
message: 'Cache statistics not available',
|
|
157
|
+
note: 'WeakMap-based caching prevents memory leaks but limits size reporting',
|
|
133
158
|
};
|
|
134
159
|
}
|
|
135
160
|
getActivityMetadata(target) {
|
|
@@ -157,12 +182,12 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
|
|
|
157
182
|
if (typeof method !== 'function')
|
|
158
183
|
continue;
|
|
159
184
|
if (this.isActivityMethod(method)) {
|
|
160
|
-
const
|
|
161
|
-
const
|
|
185
|
+
const metadata = this.getActivityMethodOptions(method);
|
|
186
|
+
const activityName = metadata?.name || propertyName;
|
|
162
187
|
methods.set(activityName, {
|
|
163
188
|
name: activityName,
|
|
164
189
|
originalName: propertyName,
|
|
165
|
-
options:
|
|
190
|
+
options: metadata || undefined,
|
|
166
191
|
handler: method,
|
|
167
192
|
});
|
|
168
193
|
this.logger.debug(`Found activity method: ${instance.constructor.name}.${propertyName} -> ${activityName}`);
|
|
@@ -174,22 +199,9 @@ let TemporalMetadataAccessor = class TemporalMetadataAccessor {
|
|
|
174
199
|
}
|
|
175
200
|
return methods;
|
|
176
201
|
}
|
|
177
|
-
validateMethodSignature(method, methodName) {
|
|
178
|
-
try {
|
|
179
|
-
if (typeof method !== 'function') {
|
|
180
|
-
this.logger.warn(`Method ${methodName} is not a function`);
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
return true;
|
|
184
|
-
}
|
|
185
|
-
catch (error) {
|
|
186
|
-
this.logger.warn(`Error validating method signature for ${methodName}: ${error.message}`);
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
202
|
};
|
|
191
203
|
exports.TemporalMetadataAccessor = TemporalMetadataAccessor;
|
|
192
|
-
exports.TemporalMetadataAccessor = TemporalMetadataAccessor = __decorate([
|
|
204
|
+
exports.TemporalMetadataAccessor = TemporalMetadataAccessor = TemporalMetadataAccessor_1 = __decorate([
|
|
193
205
|
(0, common_1.Injectable)()
|
|
194
206
|
], TemporalMetadataAccessor);
|
|
195
207
|
//# sourceMappingURL=temporal-metadata.accessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-metadata.accessor.js","sourceRoot":"","sources":["../../src/worker/temporal-metadata.accessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"temporal-metadata.accessor.js","sourceRoot":"","sources":["../../src/worker/temporal-metadata.accessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { OnApplicationBootstrap, OnModuleDestroy, OnModuleInit } from '@nestjs/c
|
|
|
2
2
|
import { DiscoveryService } from '@nestjs/core';
|
|
3
3
|
import { NativeConnection, Worker } from '@temporalio/worker';
|
|
4
4
|
import { TemporalMetadataAccessor } from './temporal-metadata.accessor';
|
|
5
|
-
import {
|
|
6
|
-
export declare class
|
|
5
|
+
import { WorkerStatus } from '../interfaces';
|
|
6
|
+
export declare class TemporalWorkerManagerService implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap {
|
|
7
7
|
private readonly options;
|
|
8
8
|
private readonly discoveryService;
|
|
9
9
|
private readonly metadataAccessor;
|
|
@@ -15,7 +15,7 @@ export declare class WorkerManager implements OnModuleInit, OnModuleDestroy, OnA
|
|
|
15
15
|
private startedAt?;
|
|
16
16
|
private lastError?;
|
|
17
17
|
private activities;
|
|
18
|
-
constructor(options:
|
|
18
|
+
constructor(options: any, discoveryService: DiscoveryService, metadataAccessor: TemporalMetadataAccessor);
|
|
19
19
|
onModuleInit(): Promise<void>;
|
|
20
20
|
onApplicationBootstrap(): Promise<void>;
|
|
21
21
|
onModuleDestroy(): Promise<void>;
|
|
@@ -29,15 +29,24 @@ export declare class WorkerManager implements OnModuleInit, OnModuleDestroy, OnA
|
|
|
29
29
|
private logWorkerConfiguration;
|
|
30
30
|
startWorker(): Promise<void>;
|
|
31
31
|
shutdown(): Promise<void>;
|
|
32
|
+
restartWorker(): Promise<void>;
|
|
32
33
|
getWorker(): Worker | null;
|
|
33
34
|
getConnection(): NativeConnection | null;
|
|
34
35
|
isWorkerRunning(): boolean;
|
|
35
36
|
isWorkerInitialized(): boolean;
|
|
36
37
|
getWorkerStatus(): WorkerStatus;
|
|
37
38
|
getRegisteredActivities(): string[];
|
|
38
|
-
|
|
39
|
+
getActivityInfo(): Array<{
|
|
40
|
+
name: string;
|
|
41
|
+
className: string;
|
|
42
|
+
methodName: string;
|
|
43
|
+
}>;
|
|
39
44
|
healthCheck(): Promise<{
|
|
40
45
|
status: 'healthy' | 'unhealthy' | 'degraded';
|
|
41
46
|
details: WorkerStatus;
|
|
47
|
+
activities: {
|
|
48
|
+
total: number;
|
|
49
|
+
registered: string[];
|
|
50
|
+
};
|
|
42
51
|
}>;
|
|
43
52
|
}
|
|
@@ -11,19 +11,20 @@ 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 TemporalWorkerManagerService_1;
|
|
14
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
16
|
+
exports.TemporalWorkerManagerService = void 0;
|
|
16
17
|
const common_1 = require("@nestjs/common");
|
|
17
18
|
const core_1 = require("@nestjs/core");
|
|
18
19
|
const worker_1 = require("@temporalio/worker");
|
|
19
|
-
const constants_1 = require("../constants");
|
|
20
20
|
const temporal_metadata_accessor_1 = require("./temporal-metadata.accessor");
|
|
21
|
-
|
|
21
|
+
const constants_1 = require("../constants");
|
|
22
|
+
let TemporalWorkerManagerService = TemporalWorkerManagerService_1 = class TemporalWorkerManagerService {
|
|
22
23
|
constructor(options, discoveryService, metadataAccessor) {
|
|
23
24
|
this.options = options;
|
|
24
25
|
this.discoveryService = discoveryService;
|
|
25
26
|
this.metadataAccessor = metadataAccessor;
|
|
26
|
-
this.logger = new common_1.Logger(
|
|
27
|
+
this.logger = new common_1.Logger(TemporalWorkerManagerService_1.name);
|
|
27
28
|
this.worker = null;
|
|
28
29
|
this.connection = null;
|
|
29
30
|
this.isInitialized = false;
|
|
@@ -106,10 +107,10 @@ let WorkerManager = class WorkerManager {
|
|
|
106
107
|
const workerOptions = this.buildWorkerOptions();
|
|
107
108
|
this.worker = await worker_1.Worker.create({
|
|
108
109
|
connection: this.connection,
|
|
109
|
-
namespace: this.options.namespace || constants_1.DEFAULT_NAMESPACE,
|
|
110
|
+
namespace: this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE,
|
|
110
111
|
...workerOptions,
|
|
111
112
|
});
|
|
112
|
-
this.logger.log(`Worker created for queue: ${this.options.taskQueue} in namespace: ${this.options.namespace || constants_1.DEFAULT_NAMESPACE}`);
|
|
113
|
+
this.logger.log(`Worker created for queue: ${this.options.taskQueue} in namespace: ${this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE}`);
|
|
113
114
|
}
|
|
114
115
|
buildWorkerOptions() {
|
|
115
116
|
const baseOptions = {
|
|
@@ -138,7 +139,12 @@ let WorkerManager = class WorkerManager {
|
|
|
138
139
|
case 'development':
|
|
139
140
|
return constants_1.WORKER_PRESETS.DEVELOPMENT;
|
|
140
141
|
default:
|
|
141
|
-
return
|
|
142
|
+
return {
|
|
143
|
+
maxConcurrentActivityTaskExecutions: 20,
|
|
144
|
+
maxConcurrentWorkflowTaskExecutions: 10,
|
|
145
|
+
maxConcurrentLocalActivityExecutions: 20,
|
|
146
|
+
reuseV8Context: true,
|
|
147
|
+
};
|
|
142
148
|
}
|
|
143
149
|
}
|
|
144
150
|
async discoverActivities() {
|
|
@@ -163,6 +169,11 @@ let WorkerManager = class WorkerManager {
|
|
|
163
169
|
try {
|
|
164
170
|
const className = instance.constructor.name;
|
|
165
171
|
this.logger.debug(`Processing activity class: ${className}`);
|
|
172
|
+
const validation = this.metadataAccessor.validateActivityClass(instance.constructor);
|
|
173
|
+
if (!validation.isValid) {
|
|
174
|
+
this.logger.warn(`Activity class ${className} has issues: ${validation.issues.join(', ')}`);
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
166
177
|
const activityMethods = this.metadataAccessor.extractActivityMethods(instance);
|
|
167
178
|
for (const [activityName, method] of activityMethods.entries()) {
|
|
168
179
|
activities[activityName] = method;
|
|
@@ -180,7 +191,7 @@ let WorkerManager = class WorkerManager {
|
|
|
180
191
|
logWorkerConfiguration() {
|
|
181
192
|
const config = {
|
|
182
193
|
taskQueue: this.options.taskQueue,
|
|
183
|
-
namespace: this.options.namespace || constants_1.DEFAULT_NAMESPACE,
|
|
194
|
+
namespace: this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE,
|
|
184
195
|
workflowSource: this.options.workflowBundle ? 'bundle' : 'filesystem',
|
|
185
196
|
activitiesCount: Object.keys(this.activities).length,
|
|
186
197
|
autoStart: this.options.autoStart !== false,
|
|
@@ -247,6 +258,16 @@ let WorkerManager = class WorkerManager {
|
|
|
247
258
|
this.isInitialized = false;
|
|
248
259
|
this.startedAt = undefined;
|
|
249
260
|
}
|
|
261
|
+
async restartWorker() {
|
|
262
|
+
this.logger.log('Restarting worker...');
|
|
263
|
+
if (this.isRunning) {
|
|
264
|
+
await this.shutdown();
|
|
265
|
+
}
|
|
266
|
+
await this.initializeWorker();
|
|
267
|
+
if (this.options.autoStart !== false) {
|
|
268
|
+
await this.startWorker();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
250
271
|
getWorker() {
|
|
251
272
|
return this.worker;
|
|
252
273
|
}
|
|
@@ -266,7 +287,7 @@ let WorkerManager = class WorkerManager {
|
|
|
266
287
|
isRunning: this.isRunning,
|
|
267
288
|
isHealthy: this.isInitialized && !this.lastError,
|
|
268
289
|
taskQueue: this.options.taskQueue,
|
|
269
|
-
namespace: this.options.namespace || constants_1.DEFAULT_NAMESPACE,
|
|
290
|
+
namespace: this.options.connection?.namespace || constants_1.DEFAULT_NAMESPACE,
|
|
270
291
|
workflowSource: this.options.workflowBundle
|
|
271
292
|
? 'bundle'
|
|
272
293
|
: this.options.workflowsPath
|
|
@@ -281,18 +302,29 @@ let WorkerManager = class WorkerManager {
|
|
|
281
302
|
getRegisteredActivities() {
|
|
282
303
|
return Object.keys(this.activities);
|
|
283
304
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
305
|
+
getActivityInfo() {
|
|
306
|
+
const activityInfo = [];
|
|
307
|
+
const providers = this.discoveryService.getProviders();
|
|
308
|
+
for (const wrapper of providers) {
|
|
309
|
+
const { instance } = wrapper;
|
|
310
|
+
if (!instance || !this.metadataAccessor.isActivity(instance.constructor)) {
|
|
311
|
+
continue;
|
|
312
|
+
}
|
|
313
|
+
const className = instance.constructor.name;
|
|
314
|
+
const methodNames = this.metadataAccessor.getActivityMethodNames(instance.constructor);
|
|
315
|
+
for (const methodName of methodNames) {
|
|
316
|
+
activityInfo.push({
|
|
317
|
+
name: methodName,
|
|
318
|
+
className,
|
|
319
|
+
methodName,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
292
322
|
}
|
|
323
|
+
return activityInfo;
|
|
293
324
|
}
|
|
294
325
|
async healthCheck() {
|
|
295
326
|
const status = this.getWorkerStatus();
|
|
327
|
+
const activities = this.getRegisteredActivities();
|
|
296
328
|
let healthStatus;
|
|
297
329
|
if (!status.isInitialized) {
|
|
298
330
|
healthStatus = 'unhealthy';
|
|
@@ -309,14 +341,18 @@ let WorkerManager = class WorkerManager {
|
|
|
309
341
|
return {
|
|
310
342
|
status: healthStatus,
|
|
311
343
|
details: status,
|
|
344
|
+
activities: {
|
|
345
|
+
total: activities.length,
|
|
346
|
+
registered: activities,
|
|
347
|
+
},
|
|
312
348
|
};
|
|
313
349
|
}
|
|
314
350
|
};
|
|
315
|
-
exports.
|
|
316
|
-
exports.
|
|
351
|
+
exports.TemporalWorkerManagerService = TemporalWorkerManagerService;
|
|
352
|
+
exports.TemporalWorkerManagerService = TemporalWorkerManagerService = TemporalWorkerManagerService_1 = __decorate([
|
|
317
353
|
(0, common_1.Injectable)(),
|
|
318
|
-
__param(0, (0, common_1.Inject)(constants_1.
|
|
354
|
+
__param(0, (0, common_1.Inject)(constants_1.TEMPORAL_MODULE_OPTIONS)),
|
|
319
355
|
__metadata("design:paramtypes", [Object, core_1.DiscoveryService,
|
|
320
356
|
temporal_metadata_accessor_1.TemporalMetadataAccessor])
|
|
321
|
-
],
|
|
322
|
-
//# sourceMappingURL=worker-manager.service.js.map
|
|
357
|
+
], TemporalWorkerManagerService);
|
|
358
|
+
//# sourceMappingURL=temporal-worker-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal-worker-manager.service.js","sourceRoot":"","sources":["../../src/worker/temporal-worker-manager.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import { DynamicModule } from '@nestjs/common';
|
|
2
|
-
import {
|
|
1
|
+
import { DynamicModule, Type } from '@nestjs/common';
|
|
2
|
+
import { TemporalAsyncOptions, TemporalOptions } from '../interfaces';
|
|
3
3
|
export declare class TemporalWorkerModule {
|
|
4
|
-
static register(options:
|
|
5
|
-
static registerAsync(options:
|
|
4
|
+
static register(options: TemporalOptions): DynamicModule;
|
|
5
|
+
static registerAsync(options: TemporalAsyncOptions): DynamicModule;
|
|
6
|
+
static forWorker(options: {
|
|
7
|
+
connection: TemporalOptions['connection'];
|
|
8
|
+
taskQueue: string;
|
|
9
|
+
workflowsPath?: string;
|
|
10
|
+
workflowBundle?: any;
|
|
11
|
+
activityClasses?: Array<Type<any>>;
|
|
12
|
+
isGlobal?: boolean;
|
|
13
|
+
}): DynamicModule;
|
|
6
14
|
private static createActivityProviders;
|
|
7
15
|
private static createAsyncProviders;
|
|
16
|
+
private static validateWorkerOptions;
|
|
17
|
+
private static extractWorkerOptions;
|
|
8
18
|
}
|
|
@@ -10,25 +10,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.TemporalWorkerModule = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const core_1 = require("@nestjs/core");
|
|
13
|
-
const constants_1 = require("../constants");
|
|
14
13
|
const temporal_metadata_accessor_1 = require("./temporal-metadata.accessor");
|
|
15
|
-
const
|
|
14
|
+
const constants_1 = require("../constants");
|
|
15
|
+
const temporal_worker_manager_service_1 = require("./temporal-worker-manager.service");
|
|
16
16
|
let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
|
|
17
17
|
static register(options) {
|
|
18
|
+
this.validateWorkerOptions(options);
|
|
19
|
+
const workerOptions = this.extractWorkerOptions(options);
|
|
18
20
|
return {
|
|
19
21
|
module: TemporalWorkerModule_1,
|
|
20
22
|
global: true,
|
|
21
23
|
providers: [
|
|
22
24
|
{
|
|
23
|
-
provide: constants_1.
|
|
24
|
-
useValue:
|
|
25
|
+
provide: constants_1.TEMPORAL_MODULE_OPTIONS,
|
|
26
|
+
useValue: workerOptions,
|
|
25
27
|
},
|
|
26
|
-
...this.createActivityProviders(options.activityClasses || []),
|
|
28
|
+
...this.createActivityProviders(options.worker?.activityClasses || []),
|
|
27
29
|
temporal_metadata_accessor_1.TemporalMetadataAccessor,
|
|
28
30
|
core_1.DiscoveryService,
|
|
29
|
-
|
|
31
|
+
temporal_worker_manager_service_1.TemporalWorkerManagerService,
|
|
30
32
|
],
|
|
31
|
-
exports: [
|
|
33
|
+
exports: [temporal_worker_manager_service_1.TemporalWorkerManagerService, constants_1.TEMPORAL_MODULE_OPTIONS],
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
36
|
static registerAsync(options) {
|
|
@@ -40,11 +42,23 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
|
|
|
40
42
|
...this.createAsyncProviders(options),
|
|
41
43
|
temporal_metadata_accessor_1.TemporalMetadataAccessor,
|
|
42
44
|
core_1.DiscoveryService,
|
|
43
|
-
|
|
45
|
+
temporal_worker_manager_service_1.TemporalWorkerManagerService,
|
|
44
46
|
],
|
|
45
|
-
exports: [
|
|
47
|
+
exports: [temporal_worker_manager_service_1.TemporalWorkerManagerService, constants_1.TEMPORAL_MODULE_OPTIONS],
|
|
46
48
|
};
|
|
47
49
|
}
|
|
50
|
+
static forWorker(options) {
|
|
51
|
+
return this.register({
|
|
52
|
+
connection: options.connection,
|
|
53
|
+
taskQueue: options.taskQueue,
|
|
54
|
+
worker: {
|
|
55
|
+
workflowsPath: options.workflowsPath,
|
|
56
|
+
workflowBundle: options.workflowBundle,
|
|
57
|
+
activityClasses: options.activityClasses,
|
|
58
|
+
},
|
|
59
|
+
isGlobal: options.isGlobal,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
48
62
|
static createActivityProviders(activityClasses) {
|
|
49
63
|
return activityClasses.map((ActivityClass) => ({
|
|
50
64
|
provide: ActivityClass,
|
|
@@ -55,8 +69,12 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
|
|
|
55
69
|
if (options.useFactory) {
|
|
56
70
|
return [
|
|
57
71
|
{
|
|
58
|
-
provide: constants_1.
|
|
59
|
-
useFactory:
|
|
72
|
+
provide: constants_1.TEMPORAL_MODULE_OPTIONS,
|
|
73
|
+
useFactory: async (...args) => {
|
|
74
|
+
const temporalOptions = await options.useFactory(...args);
|
|
75
|
+
this.validateWorkerOptions(temporalOptions);
|
|
76
|
+
return this.extractWorkerOptions(temporalOptions);
|
|
77
|
+
},
|
|
60
78
|
inject: options.inject || [],
|
|
61
79
|
},
|
|
62
80
|
];
|
|
@@ -64,8 +82,12 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
|
|
|
64
82
|
if (options.useClass) {
|
|
65
83
|
return [
|
|
66
84
|
{
|
|
67
|
-
provide: constants_1.
|
|
68
|
-
useFactory: async (optionsFactory) =>
|
|
85
|
+
provide: constants_1.TEMPORAL_MODULE_OPTIONS,
|
|
86
|
+
useFactory: async (optionsFactory) => {
|
|
87
|
+
const temporalOptions = await optionsFactory.createTemporalOptions();
|
|
88
|
+
this.validateWorkerOptions(temporalOptions);
|
|
89
|
+
return this.extractWorkerOptions(temporalOptions);
|
|
90
|
+
},
|
|
69
91
|
inject: [options.useClass],
|
|
70
92
|
},
|
|
71
93
|
{
|
|
@@ -77,14 +99,58 @@ let TemporalWorkerModule = TemporalWorkerModule_1 = class TemporalWorkerModule {
|
|
|
77
99
|
if (options.useExisting) {
|
|
78
100
|
return [
|
|
79
101
|
{
|
|
80
|
-
provide: constants_1.
|
|
81
|
-
useFactory: async (optionsFactory) =>
|
|
102
|
+
provide: constants_1.TEMPORAL_MODULE_OPTIONS,
|
|
103
|
+
useFactory: async (optionsFactory) => {
|
|
104
|
+
const temporalOptions = await optionsFactory.createTemporalOptions();
|
|
105
|
+
this.validateWorkerOptions(temporalOptions);
|
|
106
|
+
return this.extractWorkerOptions(temporalOptions);
|
|
107
|
+
},
|
|
82
108
|
inject: [options.useExisting],
|
|
83
109
|
},
|
|
84
110
|
];
|
|
85
111
|
}
|
|
86
112
|
throw new Error(constants_1.ERRORS.INVALID_OPTIONS);
|
|
87
113
|
}
|
|
114
|
+
static validateWorkerOptions(options) {
|
|
115
|
+
if (!options.connection) {
|
|
116
|
+
throw new Error('Connection configuration is required for worker');
|
|
117
|
+
}
|
|
118
|
+
if (!options.connection.address) {
|
|
119
|
+
throw new Error('Connection address is required for worker');
|
|
120
|
+
}
|
|
121
|
+
if (!options.taskQueue) {
|
|
122
|
+
throw new Error('Task queue is required for worker');
|
|
123
|
+
}
|
|
124
|
+
if (!options.worker) {
|
|
125
|
+
throw new Error('Worker configuration is required');
|
|
126
|
+
}
|
|
127
|
+
const hasWorkflowsPath = Boolean(options.worker.workflowsPath);
|
|
128
|
+
const hasWorkflowBundle = Boolean(options.worker.workflowBundle);
|
|
129
|
+
if (!hasWorkflowsPath && !hasWorkflowBundle) {
|
|
130
|
+
throw new Error('Worker requires either workflowsPath or workflowBundle');
|
|
131
|
+
}
|
|
132
|
+
if (hasWorkflowsPath && hasWorkflowBundle) {
|
|
133
|
+
throw new Error('Worker cannot have both workflowsPath and workflowBundle');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
static extractWorkerOptions(options) {
|
|
137
|
+
return {
|
|
138
|
+
connection: {
|
|
139
|
+
address: options.connection.address,
|
|
140
|
+
namespace: options.connection.namespace,
|
|
141
|
+
tls: options.connection.tls,
|
|
142
|
+
apiKey: options.connection.apiKey,
|
|
143
|
+
metadata: options.connection.metadata,
|
|
144
|
+
},
|
|
145
|
+
taskQueue: options.taskQueue,
|
|
146
|
+
workflowsPath: options.worker?.workflowsPath,
|
|
147
|
+
workflowBundle: options.worker?.workflowBundle,
|
|
148
|
+
activityClasses: options.worker?.activityClasses || [],
|
|
149
|
+
autoStart: options.worker?.autoStart !== false,
|
|
150
|
+
allowWorkerFailure: options.allowConnectionFailure !== false,
|
|
151
|
+
workerOptions: options.worker?.workerOptions || {},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
88
154
|
};
|
|
89
155
|
exports.TemporalWorkerModule = TemporalWorkerModule;
|
|
90
156
|
exports.TemporalWorkerModule = TemporalWorkerModule = TemporalWorkerModule_1 = __decorate([
|