nestjs-temporal-core 3.1.1 → 3.1.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/CHANGELOG.md +11 -88
- package/dist/interfaces.d.ts +32 -12
- package/dist/providers/temporal-connection.factory.js +1 -9
- package/dist/providers/temporal-connection.factory.js.map +1 -1
- package/dist/services/temporal-schedule.service.d.ts +0 -1
- package/dist/services/temporal-schedule.service.js +21 -19
- package/dist/services/temporal-schedule.service.js.map +1 -1
- package/dist/services/temporal-worker.service.d.ts +3 -2
- package/dist/services/temporal-worker.service.js +143 -25
- package/dist/services/temporal-worker.service.js.map +1 -1
- package/dist/services/temporal.service.d.ts +0 -1
- package/dist/services/temporal.service.js +19 -18
- package/dist/services/temporal.service.js.map +1 -1
- package/dist/temporal.module.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,93 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
-
## [3.1.
|
|
2
|
+
## [3.1.3] - 2025-11-12
|
|
3
3
|
|
|
4
4
|
### Changes
|
|
5
5
|
|
|
6
|
-
-
|
|
6
|
+
- test: remove redundant tests for registerScheduledWorkflow error handling (e83e15e)
|
|
7
|
+
- chore: update release workflow to generate and deploy documentation to GitHub Pages test: enhance error handling in TemporalScheduleService for ScheduleClient initialization (4fb1ed0)
|
|
8
|
+
- test: improve error handling in worker shutdown process (234c751)
|
|
9
|
+
- test: enhance coverage for worker creation and shutdown error handling (75b2ffb)
|
|
10
|
+
- test: enhance error handling and lifecycle hook coverage in TemporalWorkerManagerService (b89d8e0)
|
|
11
|
+
- chore: remove pull request trigger from CI/CD pipeline and standardize cache syntax (8a82aff)
|
|
12
|
+
- feat: add shutdown hooks and timeout options for graceful worker termination (a369697)
|
|
13
|
+
- chore: remove outdated CHANGELOG.md file (745e94a)
|
|
14
|
+
- refactor: streamline error handling and logging in worker shutdown process (c7838c0)
|
|
15
|
+
- feat: enhance worker management and cleanup logic (f91e4ee)
|
|
7
16
|
|
|
8
|
-
## [3.1.0] - 2025-11-11
|
|
9
|
-
|
|
10
|
-
### Changes
|
|
11
|
-
|
|
12
|
-
- feat: Enhance TemporalWorkerManagerService with multiple workers support (4d22828)
|
|
13
|
-
- test: add unit tests for TemporalWorkerManagerService with multiple workers support (12aee0b)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
All notable changes to this project will be documented in this file.
|
|
17
|
-
|
|
18
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
19
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
20
|
-
|
|
21
|
-
## [3.0.12] - 2025-11-07
|
|
22
|
-
|
|
23
|
-
### Added
|
|
24
|
-
- **Multiple Workers Support**: Configure and manage multiple workers with different task queues in the same process
|
|
25
|
-
- New `workers` array property in `TemporalOptions` for defining multiple worker configurations
|
|
26
|
-
- `getAllWorkers()`: Get information about all registered workers
|
|
27
|
-
- `getWorker(taskQueue)`: Get a specific worker by task queue name
|
|
28
|
-
- `getWorkerStatusByTaskQueue(taskQueue)`: Get status of a specific worker
|
|
29
|
-
- `startWorkerByTaskQueue(taskQueue)`: Start a specific worker
|
|
30
|
-
- `stopWorkerByTaskQueue(taskQueue)`: Stop a specific worker
|
|
31
|
-
- `registerWorker(workerDef)`: Dynamically register new workers at runtime
|
|
32
|
-
- `getWorkerManager()`: Access worker manager service
|
|
33
|
-
- `getConnection()`: Access native Temporal connection for custom worker creation
|
|
34
|
-
- New interfaces: `WorkerDefinition`, `MultipleWorkersInfo`, `CreateWorkerResult`, `WorkerInstance`
|
|
35
|
-
- Comprehensive migration guide in README for upgrading from single to multiple workers
|
|
36
|
-
- Documentation for manual worker creation using native Temporal SDK
|
|
37
|
-
|
|
38
|
-
### Changed
|
|
39
|
-
- Refactored `TemporalWorkerManagerService` to support both legacy single worker and new multiple workers
|
|
40
|
-
- Enhanced worker lifecycle management with per-worker state tracking
|
|
41
|
-
- Improved worker initialization with better error handling
|
|
42
|
-
- All interfaces consolidated in `src/interfaces.ts` (moved `WorkerInstance` from service file)
|
|
43
|
-
|
|
44
|
-
### Fixed
|
|
45
|
-
- No breaking changes - fully backward compatible with v3.0.11
|
|
46
|
-
- Legacy single worker configuration continues to work without modifications
|
|
47
|
-
|
|
48
|
-
## [3.0.11] - 2025-11-01
|
|
49
|
-
|
|
50
|
-
### Fixed
|
|
51
|
-
- Improved stability and error handling
|
|
52
|
-
- Enhanced logging for better debugging
|
|
53
|
-
|
|
54
|
-
## [3.0.10] - 2025-10-15
|
|
55
|
-
|
|
56
|
-
### Added
|
|
57
|
-
- Enhanced monitoring capabilities
|
|
58
|
-
- Improved health check endpoints
|
|
59
|
-
|
|
60
|
-
### Changed
|
|
61
|
-
- Updated internal architecture for better performance
|
|
62
|
-
|
|
63
|
-
## [3.0.0] - 2025-09-01
|
|
64
|
-
|
|
65
|
-
### Added
|
|
66
|
-
- Complete rewrite with modular architecture
|
|
67
|
-
- Auto-discovery of activities via decorators
|
|
68
|
-
- Enhanced monitoring and health checks
|
|
69
|
-
- Comprehensive TypeScript support
|
|
70
|
-
- Production-ready error handling
|
|
71
|
-
|
|
72
|
-
### Changed
|
|
73
|
-
- Breaking changes from v2.x - see migration guide
|
|
74
|
-
|
|
75
|
-
## [2.x] - Historical Versions
|
|
76
|
-
|
|
77
|
-
See previous releases for v2.x changelog.
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Migration Guide
|
|
82
|
-
|
|
83
|
-
### Upgrading from 3.0.11 to 3.0.12
|
|
84
|
-
|
|
85
|
-
No breaking changes. All existing code continues to work. See README.md for new multiple workers features.
|
|
86
|
-
|
|
87
|
-
### Upgrading from 3.0.10 to 3.0.11
|
|
88
|
-
|
|
89
|
-
No breaking changes. Minor improvements and bug fixes.
|
|
90
|
-
|
|
91
|
-
### Upgrading from 2.x to 3.x
|
|
92
|
-
|
|
93
|
-
Major rewrite - see full migration guide in documentation.
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -48,19 +48,45 @@ export interface TemporalOptions extends LoggerConfig {
|
|
|
48
48
|
autoRestart?: boolean;
|
|
49
49
|
isGlobal?: boolean;
|
|
50
50
|
allowConnectionFailure?: boolean;
|
|
51
|
+
enableShutdownHooks?: boolean;
|
|
52
|
+
shutdownTimeout?: number;
|
|
51
53
|
}
|
|
52
54
|
export interface WorkerCreateOptions {
|
|
55
|
+
identity?: string;
|
|
56
|
+
buildId?: string;
|
|
57
|
+
useVersioning?: boolean;
|
|
58
|
+
workerDeploymentOptions?: Record<string, unknown>;
|
|
59
|
+
shutdownGraceTime?: string | number;
|
|
60
|
+
shutdownForceTime?: string | number;
|
|
61
|
+
dataConverter?: Record<string, unknown>;
|
|
62
|
+
tuner?: Record<string, unknown>;
|
|
53
63
|
maxConcurrentActivityTaskExecutions?: number;
|
|
54
|
-
maxConcurrentWorkflowTaskExecutions?: number;
|
|
55
64
|
maxConcurrentLocalActivityExecutions?: number;
|
|
65
|
+
maxConcurrentActivityTaskPolls?: number;
|
|
66
|
+
enableNonLocalActivities?: boolean;
|
|
56
67
|
maxActivitiesPerSecond?: number;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
buildId?: string;
|
|
60
|
-
maxCachedWorkflows?: number;
|
|
68
|
+
maxTaskQueueActivitiesPerSecond?: number;
|
|
69
|
+
maxConcurrentWorkflowTaskExecutions?: number;
|
|
61
70
|
maxConcurrentWorkflowTaskPolls?: number;
|
|
62
|
-
|
|
71
|
+
nonStickyToStickyPollRatio?: number;
|
|
72
|
+
maxCachedWorkflows?: number;
|
|
73
|
+
stickyQueueScheduleToStartTimeout?: string | number;
|
|
74
|
+
workflowThreadPoolSize?: number;
|
|
75
|
+
reuseV8Context?: boolean;
|
|
76
|
+
maxHeartbeatThrottleInterval?: string | number;
|
|
77
|
+
defaultHeartbeatThrottleInterval?: string | number;
|
|
78
|
+
debugMode?: boolean;
|
|
63
79
|
enableLoggingInReplay?: boolean;
|
|
80
|
+
showStackTraceSources?: boolean;
|
|
81
|
+
interceptors?: {
|
|
82
|
+
activityInbound?: unknown[];
|
|
83
|
+
activity?: unknown[];
|
|
84
|
+
workflowModules?: string[];
|
|
85
|
+
};
|
|
86
|
+
sinks?: Record<string, unknown>;
|
|
87
|
+
bundlerOptions?: Record<string, unknown>;
|
|
88
|
+
enableSDKTracing?: boolean;
|
|
89
|
+
enableOpenTelemetry?: boolean;
|
|
64
90
|
}
|
|
65
91
|
export interface WorkerModuleOptions {
|
|
66
92
|
connection?: {
|
|
@@ -138,12 +164,6 @@ export interface QueryMethodInfo {
|
|
|
138
164
|
export interface QueryOptions {
|
|
139
165
|
name?: string;
|
|
140
166
|
}
|
|
141
|
-
export interface ScheduleStats {
|
|
142
|
-
total: number;
|
|
143
|
-
active: number;
|
|
144
|
-
inactive: number;
|
|
145
|
-
errors: number;
|
|
146
|
-
}
|
|
147
167
|
export interface SignalMethodInfo {
|
|
148
168
|
methodName: string;
|
|
149
169
|
signalName: string;
|
|
@@ -66,15 +66,7 @@ let TemporalConnectionFactory = TemporalConnectionFactory_1 = class TemporalConn
|
|
|
66
66
|
}
|
|
67
67
|
async cleanup() {
|
|
68
68
|
this.logger.info('Cleaning up all connections...');
|
|
69
|
-
|
|
70
|
-
try {
|
|
71
|
-
await connection.close();
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
this.logger.warn('Failed to close worker connection during cleanup', error);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
await Promise.allSettled(workerCleanupPromises);
|
|
69
|
+
this.logger.debug('Skipping worker connection cleanup - managed by worker service lifecycle');
|
|
78
70
|
this.clientConnectionCache.clear();
|
|
79
71
|
this.workerConnectionCache.clear();
|
|
80
72
|
this.connectionAttempts.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-connection.factory.js","sourceRoot":"","sources":["../../src/providers/temporal-connection.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,+CAAwD;AAGxD,4CAA4E;AAarE,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IASlC;QAPQ,0BAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,0BAAqB,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC5D,uBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEtC,uBAAkB,GAAG,CAAC,CAAC;QACvB,mBAAc,GAAG,IAAI,CAAC;QAGnC,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAY,EAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,OAAwB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAGhE,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,OAAO,YAAY,CAAC;QACxB,CAAC;QAGD,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;IAKD,KAAK,CAAC,sBAAsB,CAAC,OAAwB;QACjD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAGhE,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,gBAAgB,IAAI,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QAGD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAKD,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"temporal-connection.factory.js","sourceRoot":"","sources":["../../src/providers/temporal-connection.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,+CAAwD;AAGxD,4CAA4E;AAarE,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IASlC;QAPQ,0BAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,0BAAqB,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC5D,uBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEtC,uBAAkB,GAAG,CAAC,CAAC;QACvB,mBAAc,GAAG,IAAI,CAAC;QAGnC,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAY,EAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,OAAwB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAGhE,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,OAAO,YAAY,CAAC;QACxB,CAAC;QAGD,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;IAKD,KAAK,CAAC,sBAAsB,CAAC,OAAwB;QACjD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAGhE,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,gBAAgB,IAAI,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QAGD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAKD,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAUD,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAOnD,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,0EAA0E,CAC7E,CAAC;QAGF,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACrD,CAAC;IAKD,mBAAmB;QAKf,OAAO;YACH,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI;YAClD,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI;YAClD,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC9D,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,EACjC,CAAC,CACJ;SACJ,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,eAAe,CACzB,OAAwB,EACxB,aAAqB;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAI,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,mCAAmC,OAAO,CAAC,UAAW,CAAC,OAAO,2BAA2B,CAC5F,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CACX,wBAAwB,OAAO,CAAC,UAAW,CAAC,OAAO,UAAU,IAAI,CAAC,kBAAkB,WAAW,CAClG,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,qCAAqC,OAAO,CAAC,UAAW,CAAC,OAAO,aAAa,QAAQ,GAAG,CAAC,GAAG,CAC/F,CAAC;YAGF,MAAM,UAAU,GAAG,MAAM,mBAAU,CAAC,IAAI,CAAC;gBACrC,OAAO,EAAE,OAAO,CAAC,UAAW,CAAC,OAAO;gBACpC,GAAG,EAAE,OAAO,CAAC,UAAW,CAAC,GAAG;gBAC5B,QAAQ,EAAE,OAAO,CAAC,UAAW,CAAC,QAAQ;gBACtC,GAAG,CAAC,OAAO,CAAC,UAAW,CAAC,MAAM,IAAI;oBAC9B,QAAQ,EAAE;wBACN,GAAG,CAAC,OAAO,CAAC,UAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;wBACvC,aAAa,EAAE,UAAU,OAAO,CAAC,UAAW,CAAC,MAAM,EAAE;qBACxD;iBACJ,CAAC;aACL,CAAC,CAAC;YAGH,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;gBACtB,UAAU;gBACV,SAAS,EAAE,OAAO,CAAC,UAAW,CAAC,SAAS,IAAI,SAAS;aACxD,CAAC,CAAC;YAGH,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAE9C,oBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,UAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1E,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YACzD,oBAAW,CAAC,aAAa,CACrB,IAAI,CAAC,MAAM,EACX,OAAO,CAAC,UAAW,CAAC,OAAO,EAC3B,KAAK,EACL,KAAc,CACjB,CAAC;YAEF,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,cAAc,OAAO,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,OAAO,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACzE,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACnC,OAAwB,EACxB,aAAqB;QAErB,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO,CAAC,UAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAEtF,MAAM,EAAE,gBAAgB,EAAE,GAAG,2CAAa,oBAAoB,EAAC,CAAC;YAChE,MAAM,OAAO,GAAG,OAAO,CAAC,UAAW,CAAC,OAAO,CAAC;YAE5C,MAAM,cAAc,GAIhB;gBACA,OAAO;gBACP,GAAG,EAAE,OAAO,CAAC,UAAW,CAAC,GAAqB;aACjD,CAAC;YAEF,IAAI,OAAO,CAAC,UAAW,CAAC,MAAM,EAAE,CAAC;gBAC7B,cAAc,CAAC,QAAQ,GAAG;oBACtB,GAAG,CAAC,OAAO,CAAC,UAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACvC,aAAa,EAAE,UAAU,OAAO,CAAC,UAAW,CAAC,MAAM,EAAE;iBACxD,CAAC;YACN,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO,UAAU,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,UAAsD;QAC3E,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjH,CAAC;IAEO,eAAe,CAAC,MAAc;QAClC,IAAI,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,UAA4B;QAC1D,IAAI,CAAC;YAGD,OAAO,CACH,UAAU,KAAK,IAAI;gBACnB,UAAU,KAAK,SAAS;gBACxB,OAAO,UAAU,KAAK,QAAQ;gBAC9B,UAAU,CAAC,WAAW,KAAK,SAAS,CACvC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;CACJ,CAAA;AAxQY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;;GACA,yBAAyB,CAwQrC"}
|
|
@@ -9,7 +9,6 @@ export declare class TemporalScheduleService implements OnModuleInit, OnModuleDe
|
|
|
9
9
|
private readonly discoveryService;
|
|
10
10
|
private readonly metadataAccessor;
|
|
11
11
|
private readonly logger;
|
|
12
|
-
private readonly temporalLogger;
|
|
13
12
|
private scheduleClient?;
|
|
14
13
|
private scheduleHandles;
|
|
15
14
|
private isInitialized;
|
|
@@ -26,40 +26,42 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
26
26
|
this.client = client;
|
|
27
27
|
this.discoveryService = discoveryService;
|
|
28
28
|
this.metadataAccessor = metadataAccessor;
|
|
29
|
-
this.logger = new common_1.Logger(TemporalScheduleService_1.name);
|
|
30
|
-
this.temporalLogger = new logger_1.TemporalLogger(TemporalScheduleService_1.name);
|
|
31
29
|
this.scheduleHandles = new Map();
|
|
32
30
|
this.isInitialized = false;
|
|
31
|
+
this.logger = (0, logger_1.createLogger)(TemporalScheduleService_1.name, {
|
|
32
|
+
enableLogger: options.enableLogger,
|
|
33
|
+
logLevel: options.logLevel,
|
|
34
|
+
});
|
|
33
35
|
}
|
|
34
36
|
async onModuleInit() {
|
|
35
37
|
try {
|
|
36
|
-
this.logger.
|
|
38
|
+
this.logger.info('Initializing Temporal Schedule Service...');
|
|
37
39
|
await this.initializeScheduleClient();
|
|
38
40
|
await this.discoverAndRegisterSchedules();
|
|
39
41
|
this.isInitialized = true;
|
|
40
|
-
this.logger.
|
|
42
|
+
this.logger.info('Temporal Schedule Service initialized successfully');
|
|
41
43
|
}
|
|
42
44
|
catch (error) {
|
|
43
|
-
this.logger.error(`Failed to initialize Temporal Schedule Service: ${error instanceof Error ? error.message : 'Unknown error'}
|
|
45
|
+
this.logger.error(`Failed to initialize Temporal Schedule Service: ${error instanceof Error ? error.message : 'Unknown error'}`, error);
|
|
44
46
|
throw error;
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
async onModuleDestroy() {
|
|
48
50
|
try {
|
|
49
|
-
this.logger.
|
|
51
|
+
this.logger.info('Shutting down Temporal Schedule Service...');
|
|
50
52
|
this.scheduleHandles.clear();
|
|
51
53
|
this.isInitialized = false;
|
|
52
|
-
this.logger.
|
|
54
|
+
this.logger.info('Temporal Schedule Service shut down successfully');
|
|
53
55
|
}
|
|
54
56
|
catch (error) {
|
|
55
|
-
this.logger.error(`Error during schedule service shutdown: ${error instanceof Error ? error.message : 'Unknown error'}
|
|
57
|
+
this.logger.error(`Error during schedule service shutdown: ${error instanceof Error ? error.message : 'Unknown error'}`, error);
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
async initializeScheduleClient() {
|
|
59
61
|
try {
|
|
60
62
|
if (this.client?.schedule) {
|
|
61
63
|
this.scheduleClient = this.client.schedule;
|
|
62
|
-
this.
|
|
64
|
+
this.logger.debug('Schedule client initialized from existing client');
|
|
63
65
|
return {
|
|
64
66
|
success: true,
|
|
65
67
|
client: this.scheduleClient,
|
|
@@ -72,7 +74,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
72
74
|
connection: this.client.connection,
|
|
73
75
|
namespace: this.options.connection?.namespace || 'default',
|
|
74
76
|
});
|
|
75
|
-
this.
|
|
77
|
+
this.logger.debug('Schedule client initialized successfully');
|
|
76
78
|
return {
|
|
77
79
|
success: true,
|
|
78
80
|
client: this.scheduleClient,
|
|
@@ -93,7 +95,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
93
95
|
}
|
|
94
96
|
catch (error) {
|
|
95
97
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
96
|
-
this.logger.error(`Failed to initialize schedule client: ${errorMessage}
|
|
98
|
+
this.logger.error(`Failed to initialize schedule client: ${errorMessage}`, error);
|
|
97
99
|
this.scheduleClient = undefined;
|
|
98
100
|
return {
|
|
99
101
|
success: false,
|
|
@@ -106,9 +108,9 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
106
108
|
const startTime = Date.now();
|
|
107
109
|
const discoveredCount = 0;
|
|
108
110
|
try {
|
|
109
|
-
this.
|
|
111
|
+
this.logger.debug('Schedule discovery skipped - schedule decorators not implemented');
|
|
110
112
|
const duration = Date.now() - startTime;
|
|
111
|
-
this.
|
|
113
|
+
this.logger.debug(`Discovered and registered ${discoveredCount} scheduled workflows`);
|
|
112
114
|
return {
|
|
113
115
|
success: true,
|
|
114
116
|
discoveredCount,
|
|
@@ -118,7 +120,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
118
120
|
}
|
|
119
121
|
catch (error) {
|
|
120
122
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
121
|
-
this.logger.error(`Failed to discover schedules: ${errorMessage}
|
|
123
|
+
this.logger.error(`Failed to discover schedules: ${errorMessage}`, error);
|
|
122
124
|
return {
|
|
123
125
|
success: false,
|
|
124
126
|
discoveredCount: 0,
|
|
@@ -156,7 +158,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
156
158
|
};
|
|
157
159
|
const scheduleHandle = await this.scheduleClient.create(scheduleOptions);
|
|
158
160
|
this.scheduleHandles.set(scheduleId, scheduleHandle);
|
|
159
|
-
this.
|
|
161
|
+
this.logger.debug(`Registered scheduled workflow: ${scheduleId} with type: ${workflowType}`);
|
|
160
162
|
return {
|
|
161
163
|
success: true,
|
|
162
164
|
scheduleId,
|
|
@@ -165,7 +167,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
165
167
|
}
|
|
166
168
|
catch (error) {
|
|
167
169
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
168
|
-
this.logger.error(`Failed to register scheduled workflow: ${errorMessage}
|
|
170
|
+
this.logger.error(`Failed to register scheduled workflow: ${errorMessage}`, error);
|
|
169
171
|
return {
|
|
170
172
|
success: false,
|
|
171
173
|
scheduleId: scheduleMetadata.scheduleId || `${metatype.name}-schedule`,
|
|
@@ -293,7 +295,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
293
295
|
try {
|
|
294
296
|
const scheduleHandle = await this.scheduleClient.create(options);
|
|
295
297
|
this.scheduleHandles.set(options.scheduleId, scheduleHandle);
|
|
296
|
-
this.
|
|
298
|
+
this.logger.debug(`Created schedule: ${options.scheduleId}`);
|
|
297
299
|
return {
|
|
298
300
|
success: true,
|
|
299
301
|
scheduleId: options.scheduleId,
|
|
@@ -302,7 +304,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
302
304
|
}
|
|
303
305
|
catch (error) {
|
|
304
306
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
305
|
-
this.logger.error(`Failed to create schedule ${options.scheduleId}: ${errorMessage}
|
|
307
|
+
this.logger.error(`Failed to create schedule ${options.scheduleId}: ${errorMessage}`, error);
|
|
306
308
|
return {
|
|
307
309
|
success: false,
|
|
308
310
|
scheduleId: options.scheduleId,
|
|
@@ -325,7 +327,7 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
325
327
|
}
|
|
326
328
|
catch (error) {
|
|
327
329
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
328
|
-
this.logger.error(`Failed to get schedule ${scheduleId}: ${errorMessage}
|
|
330
|
+
this.logger.error(`Failed to get schedule ${scheduleId}: ${errorMessage}`, error);
|
|
329
331
|
return {
|
|
330
332
|
success: false,
|
|
331
333
|
error: error instanceof Error ? error : new Error(errorMessage),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-schedule.service.js","sourceRoot":"","sources":["../../src/services/temporal-schedule.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"temporal-schedule.service.js","sourceRoot":"","sources":["../../src/services/temporal-schedule.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAmF;AACnF,uCAAgD;AAChD,+CAAoE;AACpE,4CAAwE;AAmBxE,2EAAuE;AACvE,4CAA+D;AAMxD,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAMhC,YAEI,OAAyC,EAEzC,MAAuF,EACtE,gBAAkC,EAClC,gBAA0C;QAJ1C,YAAO,GAAP,OAAO,CAAiB;QAExB,WAAM,GAAN,MAAM,CAAgE;QACtE,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,qBAAgB,GAAhB,gBAAgB,CAA0B;QATvD,oBAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;QACpD,kBAAa,GAAG,KAAK,CAAC;QAU1B,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAY,EAAC,yBAAuB,CAAC,IAAI,EAAE;YACrD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC,CAAC;IACP,CAAC;IAKD,KAAK,CAAC,YAAY;QACd,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,mDAAmD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAC7G,KAAK,CACR,CAAC;YACF,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,eAAe;QACjB,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACrG,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;IAKO,KAAK,CAAC,wBAAwB;QAClC,IAAI,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACtE,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI,CAAC,cAAc;oBAC3B,MAAM,EAAE,UAAU;iBACrB,CAAC;YACN,CAAC;iBAAM,CAAC;gBAEJ,IAAI,CAAC;oBACD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAc,CAAC;wBACrC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAmB;wBAC3C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,IAAI,SAAS;qBAC7D,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBAC9D,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI,CAAC,cAAc;wBAC3B,MAAM,EAAE,KAAK;qBAChB,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;oBACnE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;oBAChC,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;wBAC/D,MAAM,EAAE,MAAM;qBACjB,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAClF,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;gBAC/D,MAAM,EAAE,MAAM;aACjB,CAAC;QACN,CAAC;IACL,CAAC;IAKO,KAAK,CAAC,4BAA4B;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,CAAC,CAAC;QAE1B,IAAI,CAAC;YAGD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAEtF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,eAAe,sBAAsB,CAAC,CAAC;YAEtF,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,eAAe;gBACf,MAAM,EAAE,EAAE;gBACV,QAAQ;aACX,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,CAAC;gBAClB,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;gBACxD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC;QACN,CAAC;IACL,CAAC;IAKO,KAAK,CAAC,yBAAyB,CACnC,QAAiB,EACjB,QAAkB,EAClB,gBAAyC;QAEzC,IAAI,CAAC;YACD,MAAM,UAAU,GACX,gBAAgB,CAAC,UAAqB,IAAI,GAAG,QAAQ,CAAC,IAAI,WAAW,CAAC;YAC3E,MAAM,YAAY,GAAI,gBAAgB,CAAC,YAAuB,IAAI,QAAQ,CAAC,IAAI,CAAC;YAEhF,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC9B,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU;oBACV,KAAK,EAAE,kBAAkB,CAAC,KAAK;iBAClC,CAAC;YACN,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;YAGpE,MAAM,MAAM,GAA2B;gBACnC,IAAI,EAAE,eAAe;gBACrB,YAAY;gBACZ,SAAS,EAAG,gBAAgB,CAAC,SAAoB,IAAI,SAAS;gBAC9D,IAAI,EAAG,gBAAgB,CAAC,IAAkB,IAAI,EAAE;gBAChD,GAAG,eAAe;aACrB,CAAC;YAEF,MAAM,eAAe,GAAoB;gBACrC,UAAU;gBACV,IAAI,EAAE,kBAAkB,CAAC,IAAK;gBAC9B,MAAM;gBACN,IAAI,EAAG,gBAAgB,CAAC,IAAgC,IAAI,EAAE;gBAC9D,gBAAgB,EACX,gBAAgB,CAAC,gBAA4C,IAAI,EAAE;aAC3E,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,eAAwB,CAAC,CAAC;YAEnF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAErD,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,kCAAkC,UAAU,eAAe,YAAY,EAAE,CAC5E,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,MAAM,EAAE,cAAc;aACzB,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YACnF,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAG,gBAAgB,CAAC,UAAqB,IAAI,GAAG,QAAQ,CAAC,IAAI,WAAW;gBAClF,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;aAClE,CAAC;QACN,CAAC;IACL,CAAC;IAKO,iBAAiB,CACrB,gBAAyC;QAEzC,IAAI,CAAC;YACD,MAAM,IAAI,GAA4B,EAAE,CAAC;YAGzC,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBACvD,CAAC,CAAC,gBAAgB,CAAC,IAAI;oBACvB,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAGD,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBACtD,CAAC,CAAC,gBAAgB,CAAC,QAAQ;oBAC3B,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAClC,MAAM,eAAe,GAAG,SAAS;qBAC5B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACd,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,CAAC,CAAC;qBACD,MAAM,CAAC,OAAO,CAAC,CAAC;gBAErB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;gBACrC,CAAC;YACL,CAAC;YAGD,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBACrD,CAAC,CAAC,gBAAgB,CAAC,QAAQ;oBAC3B,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAGD,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;YAC9C,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC1C,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI;aACP,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC;aACrE,CAAC;QACN,CAAC;IACL,CAAC;IAKO,oBAAoB,CACxB,gBAAyC;QAEzC,MAAM,OAAO,GAA4B,EAAE,CAAC;QAE5C,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAmB,CAAC;QAC7D,CAAC;QAED,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAoB,CAAC;QAC/D,CAAC;QAED,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;YAC5C,OAAO,CAAC,wBAAwB,GAAG,gBAAgB,CAAC,wBAAkC,CAAC;QAC3F,CAAC;QAED,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;YACtC,OAAO,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,kBAA4B,CAAC;QAC/E,CAAC;QAED,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YACvC,OAAO,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,mBAA6B,CAAC;QACjF,CAAC;QAED,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAsC,CAAC;QAClF,CAAC;QAED,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAiB,CAAC;QACtD,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAKO,aAAa,CAAC,QAAyB;QAC3C,IAAI,CAAC;YACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,IAAI,EAAE;iBACvC,CAAC;YACN,CAAC;YAGD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YAEtD,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;iBACnC,CAAC;YACN,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;iBACnC,CAAC;YACN,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;iBACnC,CAAC;YACN,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;iBACnC,CAAC;YACN,CAAC;YAGD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,IAAI,EAAE;aACvC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC;aACrE,CAAC;QACN,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,OAAgC;QACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,OAAgB,CAAC,CAAC;YAC3E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAE7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAE7D,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,cAAc;aACzB,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,6BAA6B,OAAO,CAAC,UAAU,KAAK,YAAY,EAAE,EAClE,KAAK,CACR,CAAC;YACF,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;aAClE,CAAC;QACN,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,UAAkB;QAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC;YAED,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,CAAC,cAAc,EAAE,CAAC;gBAElB,cAAc,GAAG,IAAI,CAAC,cAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACzD,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,cAAc;aACzB,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,UAAU,KAAK,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAClF,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;aAClE,CAAC;QACN,CAAC;IACL,CAAC;IAKD,SAAS;QACL,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAKD,gBAAgB;QACZ,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAChC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACjC,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,IAAI,IAAI,EAAE;SAC1B,CAAC;IACN,CAAC;IAKD,SAAS;QACL,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,aAAa;YAC7B,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;YACzB,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc;YACzC,WAAW,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACN,CAAC;IAKD,SAAS;QACL,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YACpD,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACzC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE;gBACL,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBACpD,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc;aAC3C;SACJ,CAAC;IACN,CAAC;IAKO,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;CACJ,CAAA;AA9dY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;IAQJ,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;IAE/B,WAAA,IAAA,eAAM,EAAC,2BAAe,CAAC,CAAA;qDAEW,uBAAgB;QAChB,oDAAwB;GAZtD,uBAAuB,CA8dnC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { OnModuleInit, OnModuleDestroy, OnApplicationBootstrap } from '@nestjs/common';
|
|
1
|
+
import { OnModuleInit, OnModuleDestroy, OnApplicationBootstrap, BeforeApplicationShutdown } from '@nestjs/common';
|
|
2
2
|
import { Worker, NativeConnection } from '@temporalio/worker';
|
|
3
3
|
import { TemporalOptions, WorkerStatus, WorkerRestartResult, WorkerHealthStatus, WorkerStats, ActivityRegistrationResult, WorkerDefinition, MultipleWorkersInfo, CreateWorkerResult } from '../interfaces';
|
|
4
4
|
import { TemporalDiscoveryService } from './temporal-discovery.service';
|
|
5
|
-
export declare class TemporalWorkerManagerService implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap {
|
|
5
|
+
export declare class TemporalWorkerManagerService implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap, BeforeApplicationShutdown {
|
|
6
6
|
private readonly discoveryService;
|
|
7
7
|
private readonly options;
|
|
8
8
|
private readonly injectedConnection;
|
|
@@ -21,6 +21,7 @@ export declare class TemporalWorkerManagerService implements OnModuleInit, OnMod
|
|
|
21
21
|
constructor(discoveryService: TemporalDiscoveryService, options: TemporalOptions, injectedConnection: NativeConnection | null);
|
|
22
22
|
onModuleInit(): Promise<void>;
|
|
23
23
|
onApplicationBootstrap(): Promise<void>;
|
|
24
|
+
beforeApplicationShutdown(signal?: string): Promise<void>;
|
|
24
25
|
onModuleDestroy(): Promise<void>;
|
|
25
26
|
private initializeMultipleWorkers;
|
|
26
27
|
private createWorkerFromDefinition;
|
|
@@ -77,17 +77,56 @@ let TemporalWorkerManagerService = TemporalWorkerManagerService_1 = class Tempor
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
async onApplicationBootstrap() {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
try {
|
|
81
|
+
if (this.options.workers && this.options.workers.length > 0) {
|
|
82
|
+
this.logger.info('Starting configured workers...');
|
|
83
|
+
const startPromises = [];
|
|
84
|
+
for (const [taskQueue] of this.workers.entries()) {
|
|
85
|
+
const workerDef = this.options.workers.find((w) => w.taskQueue === taskQueue);
|
|
86
|
+
if (workerDef?.autoStart !== false) {
|
|
87
|
+
startPromises.push(this.startWorkerByTaskQueue(taskQueue).catch((error) => {
|
|
88
|
+
this.logger.error(`Failed to start worker '${taskQueue}'`, error);
|
|
89
|
+
if (this.options.allowConnectionFailure !== true) {
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
85
94
|
}
|
|
95
|
+
await Promise.all(startPromises);
|
|
96
|
+
this.logger.info(`Started ${startPromises.length} workers successfully`);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (this.worker && this.options.worker?.autoStart !== false) {
|
|
100
|
+
this.logger.info('Starting worker...');
|
|
101
|
+
await this.startWorker();
|
|
102
|
+
this.logger.info('Worker started successfully');
|
|
86
103
|
}
|
|
87
|
-
return;
|
|
88
104
|
}
|
|
89
|
-
|
|
90
|
-
|
|
105
|
+
catch (error) {
|
|
106
|
+
this.logger.error('Error during worker startup', error);
|
|
107
|
+
if (this.options.allowConnectionFailure !== true) {
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async beforeApplicationShutdown(signal) {
|
|
113
|
+
if (signal) {
|
|
114
|
+
this.logger.info(`Received shutdown signal: ${signal}`);
|
|
115
|
+
}
|
|
116
|
+
this.logger.info('Initiating graceful worker shutdown...');
|
|
117
|
+
const shutdownTimeout = this.options.shutdownTimeout || 30000;
|
|
118
|
+
const shutdownPromise = this.shutdownWorker();
|
|
119
|
+
const timeoutPromise = new Promise((resolve) => {
|
|
120
|
+
setTimeout(() => {
|
|
121
|
+
this.logger.warn(`Shutdown timeout (${shutdownTimeout}ms) reached`);
|
|
122
|
+
resolve();
|
|
123
|
+
}, shutdownTimeout);
|
|
124
|
+
});
|
|
125
|
+
try {
|
|
126
|
+
await Promise.race([shutdownPromise, timeoutPromise]);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
this.logger.error('Error during graceful shutdown', error);
|
|
91
130
|
}
|
|
92
131
|
}
|
|
93
132
|
async onModuleDestroy() {
|
|
@@ -246,16 +285,43 @@ let TemporalWorkerManagerService = TemporalWorkerManagerService_1 = class Tempor
|
|
|
246
285
|
return;
|
|
247
286
|
}
|
|
248
287
|
try {
|
|
249
|
-
this.logger.info(`Stopping worker for
|
|
250
|
-
|
|
288
|
+
this.logger.info(`Stopping worker for '${taskQueue}'...`);
|
|
289
|
+
try {
|
|
290
|
+
const workerState = workerInstance.worker.getState();
|
|
291
|
+
this.logger.debug(`Worker '${taskQueue}' current state: ${workerState}`);
|
|
292
|
+
if (workerState === 'INITIALIZED' ||
|
|
293
|
+
workerState === 'RUNNING' ||
|
|
294
|
+
workerState === 'FAILED') {
|
|
295
|
+
await workerInstance.worker.shutdown();
|
|
296
|
+
this.logger.info(`Worker for '${taskQueue}' stopped successfully`);
|
|
297
|
+
}
|
|
298
|
+
else if (workerState === 'STOPPING' ||
|
|
299
|
+
workerState === 'DRAINING' ||
|
|
300
|
+
workerState === 'DRAINED') {
|
|
301
|
+
this.logger.info(`Worker for '${taskQueue}' is already shutting down (state: ${workerState})`);
|
|
302
|
+
}
|
|
303
|
+
else if (workerState === 'STOPPED') {
|
|
304
|
+
this.logger.debug(`Worker for '${taskQueue}' is already stopped`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
catch (shutdownError) {
|
|
308
|
+
const errorMessage = shutdownError instanceof Error ? shutdownError.message : String(shutdownError);
|
|
309
|
+
if (errorMessage.includes('Not running') ||
|
|
310
|
+
errorMessage.includes('DRAINING') ||
|
|
311
|
+
errorMessage.includes('STOPPING')) {
|
|
312
|
+
this.logger.debug(`Worker '${taskQueue}' is already shutting down or stopped`);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
throw shutdownError;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
251
318
|
workerInstance.isRunning = false;
|
|
252
319
|
workerInstance.startedAt = null;
|
|
253
|
-
this.logger.info(`Worker for '${taskQueue}' stopped successfully`);
|
|
254
320
|
}
|
|
255
321
|
catch (error) {
|
|
256
322
|
workerInstance.lastError = this.extractErrorMessage(error);
|
|
257
|
-
this.logger.
|
|
258
|
-
|
|
323
|
+
this.logger.warn(`Error while stopping worker for '${taskQueue}'`, error);
|
|
324
|
+
workerInstance.isRunning = false;
|
|
259
325
|
}
|
|
260
326
|
}
|
|
261
327
|
getConnection() {
|
|
@@ -394,14 +460,29 @@ let TemporalWorkerManagerService = TemporalWorkerManagerService_1 = class Tempor
|
|
|
394
460
|
}
|
|
395
461
|
try {
|
|
396
462
|
this.logger.info('Stopping Temporal worker...');
|
|
397
|
-
|
|
463
|
+
const workerState = this.worker.getState();
|
|
464
|
+
this.logger.debug(`Worker current state: ${workerState}`);
|
|
465
|
+
if (workerState === 'INITIALIZED' ||
|
|
466
|
+
workerState === 'RUNNING' ||
|
|
467
|
+
workerState === 'FAILED') {
|
|
468
|
+
await this.worker.shutdown();
|
|
469
|
+
this.logger.info('Temporal worker stopped successfully');
|
|
470
|
+
}
|
|
471
|
+
else if (workerState === 'STOPPING' ||
|
|
472
|
+
workerState === 'DRAINING' ||
|
|
473
|
+
workerState === 'DRAINED') {
|
|
474
|
+
this.logger.info(`Worker is already shutting down (state: ${workerState})`);
|
|
475
|
+
}
|
|
476
|
+
else if (workerState === 'STOPPED') {
|
|
477
|
+
this.logger.debug('Worker is already stopped');
|
|
478
|
+
}
|
|
398
479
|
this.isRunning = false;
|
|
399
480
|
this.startedAt = null;
|
|
400
|
-
this.logger.info('Temporal worker stopped successfully');
|
|
401
481
|
}
|
|
402
482
|
catch (error) {
|
|
403
483
|
this.lastError = this.extractErrorMessage(error);
|
|
404
|
-
this.logger.
|
|
484
|
+
this.logger.warn('Error stopping worker gracefully', error);
|
|
485
|
+
this.isRunning = false;
|
|
405
486
|
}
|
|
406
487
|
}
|
|
407
488
|
async shutdown() {
|
|
@@ -780,19 +861,56 @@ let TemporalWorkerManagerService = TemporalWorkerManagerService_1 = class Tempor
|
|
|
780
861
|
this.logger.info('Shutting down Temporal worker manager...');
|
|
781
862
|
if (this.workers.size > 0) {
|
|
782
863
|
this.logger.info(`Shutting down ${this.workers.size} workers...`);
|
|
864
|
+
const shutdownPromises = [];
|
|
783
865
|
for (const [taskQueue, workerInstance] of this.workers.entries()) {
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
866
|
+
const shutdownPromise = (async () => {
|
|
867
|
+
try {
|
|
868
|
+
if (workerInstance.isRunning && workerInstance.worker) {
|
|
869
|
+
this.logger.debug(`Stopping worker for '${taskQueue}'...`);
|
|
870
|
+
try {
|
|
871
|
+
const workerState = workerInstance.worker.getState();
|
|
872
|
+
if (workerState === 'INITIALIZED' ||
|
|
873
|
+
workerState === 'RUNNING' ||
|
|
874
|
+
workerState === 'FAILED') {
|
|
875
|
+
await workerInstance.worker.shutdown();
|
|
876
|
+
this.logger.debug(`Worker '${taskQueue}' shut down successfully`);
|
|
877
|
+
}
|
|
878
|
+
else if (workerState === 'STOPPING' ||
|
|
879
|
+
workerState === 'DRAINING' ||
|
|
880
|
+
workerState === 'DRAINED') {
|
|
881
|
+
this.logger.debug(`Worker '${taskQueue}' is already shutting down (state: ${workerState})`);
|
|
882
|
+
}
|
|
883
|
+
else if (workerState === 'STOPPED') {
|
|
884
|
+
this.logger.debug(`Worker '${taskQueue}' is already stopped`);
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
catch (shutdownError) {
|
|
888
|
+
const errorMessage = shutdownError instanceof Error
|
|
889
|
+
? shutdownError.message
|
|
890
|
+
: String(shutdownError);
|
|
891
|
+
if (errorMessage.includes('Not running') ||
|
|
892
|
+
errorMessage.includes('DRAINING') ||
|
|
893
|
+
errorMessage.includes('STOPPING')) {
|
|
894
|
+
this.logger.debug(`Worker '${taskQueue}' is already shutting down or stopped`);
|
|
895
|
+
}
|
|
896
|
+
else {
|
|
897
|
+
this.logger.warn(`Unexpected error shutting down worker '${taskQueue}': ${errorMessage}`, shutdownError instanceof Error
|
|
898
|
+
? shutdownError.stack
|
|
899
|
+
: undefined);
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
workerInstance.isRunning = false;
|
|
903
|
+
}
|
|
789
904
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
}
|
|
905
|
+
catch (error) {
|
|
906
|
+
this.logger.warn(`Error shutting down worker '${taskQueue}'`, error);
|
|
907
|
+
}
|
|
908
|
+
})();
|
|
909
|
+
shutdownPromises.push(shutdownPromise);
|
|
794
910
|
}
|
|
911
|
+
await Promise.allSettled(shutdownPromises);
|
|
795
912
|
this.workers.clear();
|
|
913
|
+
this.logger.info('All workers shut down successfully');
|
|
796
914
|
}
|
|
797
915
|
if (this.worker) {
|
|
798
916
|
await this.stopWorker();
|