nestjs-temporal-core 2.0.7 → 3.0.0
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 +124 -558
- package/dist/client/temporal-client.module.d.ts +4 -2
- package/dist/client/temporal-client.module.js +59 -78
- package/dist/client/temporal-client.module.js.map +1 -1
- package/dist/client/temporal-client.service.d.ts +4 -3
- package/dist/client/temporal-client.service.js +43 -27
- package/dist/client/temporal-client.service.js.map +1 -1
- package/dist/client/temporal-schedule.service.d.ts +8 -2
- package/dist/client/temporal-schedule.service.js +86 -65
- package/dist/client/temporal-schedule.service.js.map +1 -1
- package/dist/constants.d.ts +171 -32
- package/dist/constants.js +164 -19
- package/dist/constants.js.map +1 -1
- package/dist/decorators/communication.decorators.d.ts +5 -0
- package/dist/decorators/communication.decorators.js +66 -0
- package/dist/decorators/communication.decorators.js.map +1 -0
- package/dist/decorators/core.decorators.d.ts +6 -0
- package/dist/decorators/core.decorators.js +87 -0
- package/dist/decorators/core.decorators.js.map +1 -0
- package/dist/decorators/index.d.ts +5 -6
- package/dist/decorators/index.js +5 -6
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/parameter.decorators.d.ts +2 -0
- package/dist/decorators/parameter.decorators.js +29 -0
- package/dist/decorators/parameter.decorators.js.map +1 -0
- package/dist/decorators/scheduling.decorators.d.ts +4 -0
- package/dist/decorators/scheduling.decorators.js +37 -0
- package/dist/decorators/scheduling.decorators.js.map +1 -0
- package/dist/decorators/workflow-starter.decorator.d.ts +2 -0
- package/dist/decorators/workflow-starter.decorator.js +14 -0
- package/dist/decorators/workflow-starter.decorator.js.map +1 -0
- package/dist/discovery/index.d.ts +2 -0
- package/dist/discovery/index.js +19 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/schedule-manager.service.d.ts +36 -0
- package/dist/discovery/schedule-manager.service.js +215 -0
- package/dist/discovery/schedule-manager.service.js.map +1 -0
- package/dist/discovery/workflow-discovery.service.d.ts +36 -0
- package/dist/discovery/workflow-discovery.service.js +216 -0
- package/dist/discovery/workflow-discovery.service.js.map +1 -0
- package/dist/index.d.ts +15 -8
- package/dist/index.js +27 -11
- package/dist/index.js.map +1 -1
- package/dist/interfaces/core.interface.d.ts +112 -0
- package/dist/interfaces/{base.interface.js → core.interface.js} +1 -1
- package/dist/interfaces/core.interface.js.map +1 -0
- package/dist/interfaces/discovery.interface.d.ts +61 -0
- package/dist/interfaces/{client.interface.js → discovery.interface.js} +1 -1
- package/dist/interfaces/discovery.interface.js.map +1 -0
- package/dist/interfaces/index.d.ts +4 -4
- package/dist/interfaces/index.js +4 -4
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/scheduling.interface.d.ts +17 -0
- package/dist/interfaces/{temporal.interface.js → scheduling.interface.js} +1 -1
- package/dist/interfaces/scheduling.interface.js.map +1 -0
- package/dist/interfaces/worker.interface.d.ts +20 -17
- package/dist/interfaces/workflow.interface.d.ts +41 -1
- package/dist/temporal.module.d.ts +17 -1
- package/dist/temporal.module.js +120 -53
- package/dist/temporal.module.js.map +1 -1
- package/dist/temporal.service.d.ts +50 -8
- package/dist/temporal.service.js +166 -18
- 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 +21 -6
- package/dist/worker/temporal-metadata.accessor.js +153 -22
- package/dist/worker/temporal-metadata.accessor.js.map +1 -1
- package/dist/worker/temporal-worker.module.d.ts +1 -1
- package/dist/worker/temporal-worker.module.js +6 -7
- package/dist/worker/temporal-worker.module.js.map +1 -1
- package/dist/worker/worker-manager.service.d.ts +24 -7
- package/dist/worker/worker-manager.service.js +218 -85
- package/dist/worker/worker-manager.service.js.map +1 -1
- package/package.json +51 -19
- package/dist/decorators/activity-method.decorator.d.ts +0 -2
- package/dist/decorators/activity-method.decorator.js +0 -35
- package/dist/decorators/activity-method.decorator.js.map +0 -1
- package/dist/decorators/activity.decorator.d.ts +0 -2
- package/dist/decorators/activity.decorator.js +0 -14
- package/dist/decorators/activity.decorator.js.map +0 -1
- package/dist/decorators/query-method.decorator.d.ts +0 -1
- package/dist/decorators/query-method.decorator.js +0 -17
- package/dist/decorators/query-method.decorator.js.map +0 -1
- package/dist/decorators/signal-method.decorator.d.ts +0 -1
- package/dist/decorators/signal-method.decorator.js +0 -17
- package/dist/decorators/signal-method.decorator.js.map +0 -1
- package/dist/decorators/workflow-method.decorator.d.ts +0 -2
- package/dist/decorators/workflow-method.decorator.js +0 -26
- package/dist/decorators/workflow-method.decorator.js.map +0 -1
- package/dist/decorators/workflow.decorator.d.ts +0 -2
- package/dist/decorators/workflow.decorator.js +0 -16
- package/dist/decorators/workflow.decorator.js.map +0 -1
- package/dist/interfaces/base.interface.d.ts +0 -13
- package/dist/interfaces/base.interface.js.map +0 -1
- package/dist/interfaces/client.interface.d.ts +0 -30
- package/dist/interfaces/client.interface.js.map +0 -1
- package/dist/interfaces/temporal.interface.d.ts +0 -33
- package/dist/interfaces/temporal.interface.js.map +0 -1
|
@@ -21,122 +21,143 @@ let TemporalScheduleService = TemporalScheduleService_1 = class TemporalSchedule
|
|
|
21
21
|
this.client = client;
|
|
22
22
|
this.logger = new common_1.Logger(TemporalScheduleService_1.name);
|
|
23
23
|
this.scheduleClient = null;
|
|
24
|
-
if (this.client && this.client.schedule) {
|
|
25
|
-
this.scheduleClient = this.client.schedule;
|
|
26
|
-
}
|
|
27
24
|
}
|
|
28
25
|
async onModuleInit() {
|
|
29
|
-
if (this.client) {
|
|
30
|
-
try {
|
|
31
|
-
if (typeof this.client.schedule === 'undefined') {
|
|
32
|
-
this.logger.warn('Schedule client not available in this Temporal SDK version');
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
this.scheduleClient = this.client.schedule;
|
|
36
|
-
this.logger.log('Temporal schedule client initialized');
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
this.logger.error('Failed to initialize schedule client', error);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
26
|
+
if (!this.client) {
|
|
43
27
|
this.logger.warn('Temporal client not initialized - schedule features will be unavailable');
|
|
28
|
+
return;
|
|
44
29
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
30
|
+
try {
|
|
31
|
+
if (typeof this.client.schedule === 'undefined') {
|
|
32
|
+
this.logger.warn('Schedule client not available in this Temporal SDK version');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.scheduleClient = this.client.schedule;
|
|
36
|
+
this.logger.log('Temporal schedule client initialized');
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
this.logger.error('Failed to initialize schedule client', error);
|
|
49
40
|
}
|
|
50
41
|
}
|
|
51
|
-
async createCronWorkflow(scheduleId, workflowType, cronExpression, taskQueue, args = [], description) {
|
|
42
|
+
async createCronWorkflow(scheduleId, workflowType, cronExpression, taskQueue, args = [], description, timezone) {
|
|
52
43
|
this.ensureClientInitialized();
|
|
53
44
|
try {
|
|
45
|
+
const scheduleSpec = {
|
|
46
|
+
cronExpressions: [cronExpression],
|
|
47
|
+
...(timezone && { timeZone: timezone }),
|
|
48
|
+
};
|
|
54
49
|
const handle = await this.scheduleClient.create({
|
|
55
50
|
scheduleId,
|
|
56
|
-
spec:
|
|
57
|
-
cronExpressions: [cronExpression],
|
|
58
|
-
},
|
|
51
|
+
spec: scheduleSpec,
|
|
59
52
|
action: {
|
|
60
53
|
type: 'startWorkflow',
|
|
61
54
|
workflowType,
|
|
62
55
|
taskQueue,
|
|
63
56
|
args,
|
|
64
|
-
workflowId:
|
|
57
|
+
workflowId: this.generateScheduledWorkflowId(scheduleId),
|
|
65
58
|
},
|
|
66
|
-
|
|
59
|
+
...(description && { memo: { description } }),
|
|
67
60
|
});
|
|
68
|
-
this.logger.log(`Created cron
|
|
61
|
+
this.logger.log(`Created cron schedule: ${scheduleId} -> ${workflowType} (${cronExpression})${timezone ? ` in ${timezone}` : ''}`);
|
|
69
62
|
return handle;
|
|
70
63
|
}
|
|
71
64
|
catch (error) {
|
|
72
|
-
|
|
73
|
-
|
|
65
|
+
const errorMsg = `Failed to create cron schedule '${scheduleId}': ${error.message}`;
|
|
66
|
+
this.logger.error(errorMsg);
|
|
67
|
+
throw new Error(errorMsg);
|
|
74
68
|
}
|
|
75
69
|
}
|
|
76
|
-
async
|
|
70
|
+
async createIntervalWorkflow(scheduleId, workflowType, interval, taskQueue, args = [], description) {
|
|
77
71
|
this.ensureClientInitialized();
|
|
78
72
|
try {
|
|
79
|
-
const handle = await this.scheduleClient.
|
|
80
|
-
|
|
81
|
-
|
|
73
|
+
const handle = await this.scheduleClient.create({
|
|
74
|
+
scheduleId,
|
|
75
|
+
spec: {
|
|
76
|
+
intervals: [{ every: interval }],
|
|
77
|
+
},
|
|
78
|
+
action: {
|
|
79
|
+
type: 'startWorkflow',
|
|
80
|
+
workflowType,
|
|
81
|
+
taskQueue,
|
|
82
|
+
args,
|
|
83
|
+
workflowId: this.generateScheduledWorkflowId(scheduleId),
|
|
84
|
+
},
|
|
85
|
+
...(description && { memo: { description } }),
|
|
86
|
+
});
|
|
87
|
+
this.logger.log(`Created interval schedule: ${scheduleId} -> ${workflowType} (${interval})`);
|
|
88
|
+
return handle;
|
|
82
89
|
}
|
|
83
90
|
catch (error) {
|
|
84
|
-
|
|
85
|
-
|
|
91
|
+
const errorMsg = `Failed to create interval schedule '${scheduleId}': ${error.message}`;
|
|
92
|
+
this.logger.error(errorMsg);
|
|
93
|
+
throw new Error(errorMsg);
|
|
86
94
|
}
|
|
87
95
|
}
|
|
96
|
+
async pauseSchedule(scheduleId, note) {
|
|
97
|
+
await this.executeScheduleOperation(scheduleId, 'pause', (handle) => handle.pause(note || 'Paused via NestJS Temporal integration'));
|
|
98
|
+
}
|
|
88
99
|
async resumeSchedule(scheduleId, note) {
|
|
100
|
+
await this.executeScheduleOperation(scheduleId, 'resume', (handle) => handle.unpause(note || 'Resumed via NestJS Temporal integration'));
|
|
101
|
+
}
|
|
102
|
+
async deleteSchedule(scheduleId) {
|
|
103
|
+
await this.executeScheduleOperation(scheduleId, 'delete', (handle) => handle.delete());
|
|
104
|
+
}
|
|
105
|
+
async triggerNow(scheduleId, overlap = 'ALLOW_ALL') {
|
|
106
|
+
await this.executeScheduleOperation(scheduleId, 'trigger', (handle) => handle.trigger(overlap));
|
|
107
|
+
}
|
|
108
|
+
async listSchedules(pageSize = 100) {
|
|
89
109
|
this.ensureClientInitialized();
|
|
90
110
|
try {
|
|
91
|
-
const
|
|
92
|
-
await
|
|
93
|
-
|
|
111
|
+
const schedules = [];
|
|
112
|
+
for await (const schedule of this.scheduleClient.list({ pageSize })) {
|
|
113
|
+
schedules.push(schedule);
|
|
114
|
+
}
|
|
115
|
+
return schedules;
|
|
94
116
|
}
|
|
95
117
|
catch (error) {
|
|
96
|
-
|
|
97
|
-
|
|
118
|
+
const errorMsg = `Failed to list schedules: ${error.message}`;
|
|
119
|
+
this.logger.error(errorMsg);
|
|
120
|
+
throw new Error(errorMsg);
|
|
98
121
|
}
|
|
99
122
|
}
|
|
100
|
-
async
|
|
123
|
+
async describeSchedule(scheduleId) {
|
|
101
124
|
this.ensureClientInitialized();
|
|
102
125
|
try {
|
|
103
126
|
const handle = await this.scheduleClient.getHandle(scheduleId);
|
|
104
|
-
await handle.
|
|
105
|
-
this.logger.log(`Deleted schedule: ${scheduleId}`);
|
|
127
|
+
return await handle.describe();
|
|
106
128
|
}
|
|
107
129
|
catch (error) {
|
|
108
|
-
|
|
109
|
-
|
|
130
|
+
const errorMsg = `Failed to describe schedule '${scheduleId}': ${error.message}`;
|
|
131
|
+
this.logger.error(errorMsg);
|
|
132
|
+
throw new Error(errorMsg);
|
|
110
133
|
}
|
|
111
134
|
}
|
|
112
|
-
async
|
|
135
|
+
async updateSchedule(scheduleId, updateFn) {
|
|
136
|
+
await this.executeScheduleOperation(scheduleId, 'update', (handle) => handle.update(updateFn));
|
|
137
|
+
}
|
|
138
|
+
getScheduleClient() {
|
|
139
|
+
return this.scheduleClient;
|
|
140
|
+
}
|
|
141
|
+
async executeScheduleOperation(scheduleId, operation, action) {
|
|
113
142
|
this.ensureClientInitialized();
|
|
114
143
|
try {
|
|
115
144
|
const handle = await this.scheduleClient.getHandle(scheduleId);
|
|
116
|
-
await handle
|
|
117
|
-
this.logger.log(`
|
|
145
|
+
await action(handle);
|
|
146
|
+
this.logger.log(`Successfully ${operation}d schedule: ${scheduleId}`);
|
|
118
147
|
}
|
|
119
148
|
catch (error) {
|
|
120
|
-
|
|
121
|
-
|
|
149
|
+
const errorMsg = `Failed to ${operation} schedule '${scheduleId}': ${error.message}`;
|
|
150
|
+
this.logger.error(errorMsg);
|
|
151
|
+
throw new Error(errorMsg);
|
|
122
152
|
}
|
|
123
153
|
}
|
|
124
|
-
|
|
125
|
-
this.
|
|
126
|
-
|
|
127
|
-
const schedules = [];
|
|
128
|
-
for await (const schedule of this.scheduleClient.list({ pageSize })) {
|
|
129
|
-
schedules.push(schedule);
|
|
130
|
-
}
|
|
131
|
-
return schedules;
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
this.logger.error(`Failed to list schedules: ${error.message}`);
|
|
135
|
-
throw new Error(`Failed to list schedules: ${error.message}`);
|
|
154
|
+
ensureClientInitialized() {
|
|
155
|
+
if (!this.scheduleClient) {
|
|
156
|
+
throw new Error(constants_1.ERRORS.SCHEDULE_CLIENT_NOT_INITIALIZED);
|
|
136
157
|
}
|
|
137
158
|
}
|
|
138
|
-
|
|
139
|
-
return
|
|
159
|
+
generateScheduledWorkflowId(scheduleId) {
|
|
160
|
+
return `${scheduleId}-${Date.now()}`;
|
|
140
161
|
}
|
|
141
162
|
};
|
|
142
163
|
exports.TemporalScheduleService = TemporalScheduleService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-schedule.service.js","sourceRoot":"","sources":["../../src/client/temporal-schedule.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA0E;AAE1E,4CAAuD;
|
|
1
|
+
{"version":3,"file":"temporal-schedule.service.js","sourceRoot":"","sources":["../../src/client/temporal-schedule.service.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -4,49 +4,188 @@ export declare const TEMPORAL_WORKER_MODULE_OPTIONS = "TEMPORAL_WORKER_MODULE_OP
|
|
|
4
4
|
export declare const TEMPORAL_CLIENT = "TEMPORAL_CLIENT";
|
|
5
5
|
export declare const TEMPORAL_CONNECTION = "TEMPORAL_CONNECTION";
|
|
6
6
|
export declare const TEMPORAL_ACTIVITY = "TEMPORAL_ACTIVITY";
|
|
7
|
+
export declare const TEMPORAL_WORKFLOW = "TEMPORAL_WORKFLOW";
|
|
8
|
+
export declare const TEMPORAL_WORKFLOW_CONTROLLER = "TEMPORAL_WORKFLOW_CONTROLLER";
|
|
7
9
|
export declare const TEMPORAL_ACTIVITY_METHOD = "TEMPORAL_ACTIVITY_METHOD";
|
|
8
10
|
export declare const TEMPORAL_ACTIVITY_METHOD_NAME = "TEMPORAL_ACTIVITY_METHOD_NAME";
|
|
9
11
|
export declare const TEMPORAL_ACTIVITY_METHOD_OPTIONS = "TEMPORAL_ACTIVITY_METHOD_OPTIONS";
|
|
10
|
-
export declare const TEMPORAL_WORKFLOW = "TEMPORAL_WORKFLOW";
|
|
11
12
|
export declare const TEMPORAL_WORKFLOW_METHOD = "TEMPORAL_WORKFLOW_METHOD";
|
|
12
13
|
export declare const TEMPORAL_WORKFLOW_METHOD_NAME = "TEMPORAL_WORKFLOW_METHOD_NAME";
|
|
14
|
+
export declare const TEMPORAL_WORKFLOW_METHOD_OPTIONS = "TEMPORAL_WORKFLOW_METHOD_OPTIONS";
|
|
13
15
|
export declare const TEMPORAL_WORKFLOW_OPTIONS = "TEMPORAL_WORKFLOW_OPTIONS";
|
|
14
16
|
export declare const TEMPORAL_SIGNAL_METHOD = "TEMPORAL_SIGNAL_METHOD";
|
|
15
17
|
export declare const TEMPORAL_SIGNAL_NAME = "TEMPORAL_SIGNAL_NAME";
|
|
16
18
|
export declare const TEMPORAL_QUERY_METHOD = "TEMPORAL_QUERY_METHOD";
|
|
17
19
|
export declare const TEMPORAL_QUERY_NAME = "TEMPORAL_QUERY_NAME";
|
|
20
|
+
export declare const TEMPORAL_SCHEDULED_WORKFLOW = "TEMPORAL_SCHEDULED_WORKFLOW";
|
|
21
|
+
export declare const TEMPORAL_WORKFLOW_STARTER = "TEMPORAL_WORKFLOW_STARTER";
|
|
18
22
|
export declare const DEFAULT_NAMESPACE = "default";
|
|
19
23
|
export declare const DEFAULT_TASK_QUEUE = "default-task-queue";
|
|
20
24
|
export declare const DEFAULT_CONNECTION_TIMEOUT_MS = 5000;
|
|
25
|
+
export declare const CRON_EXPRESSIONS: {
|
|
26
|
+
readonly EVERY_MINUTE: "* * * * *";
|
|
27
|
+
readonly EVERY_5_MINUTES: "*/5 * * * *";
|
|
28
|
+
readonly EVERY_15_MINUTES: "*/15 * * * *";
|
|
29
|
+
readonly EVERY_30_MINUTES: "*/30 * * * *";
|
|
30
|
+
readonly EVERY_HOUR: "0 * * * *";
|
|
31
|
+
readonly EVERY_2_HOURS: "0 */2 * * *";
|
|
32
|
+
readonly EVERY_6_HOURS: "0 */6 * * *";
|
|
33
|
+
readonly EVERY_12_HOURS: "0 */12 * * *";
|
|
34
|
+
readonly DAILY_MIDNIGHT: "0 0 * * *";
|
|
35
|
+
readonly DAILY_6AM: "0 6 * * *";
|
|
36
|
+
readonly DAILY_8AM: "0 8 * * *";
|
|
37
|
+
readonly DAILY_NOON: "0 12 * * *";
|
|
38
|
+
readonly DAILY_6PM: "0 18 * * *";
|
|
39
|
+
readonly WEEKLY_SUNDAY_MIDNIGHT: "0 0 * * 0";
|
|
40
|
+
readonly WEEKLY_MONDAY_9AM: "0 9 * * 1";
|
|
41
|
+
readonly WEEKLY_FRIDAY_5PM: "0 17 * * 5";
|
|
42
|
+
readonly MONTHLY_FIRST: "0 0 1 * *";
|
|
43
|
+
readonly MONTHLY_LAST: "0 0 28-31 * *";
|
|
44
|
+
readonly YEARLY: "0 0 1 1 *";
|
|
45
|
+
};
|
|
46
|
+
export declare const INTERVAL_EXPRESSIONS: {
|
|
47
|
+
readonly EVERY_10_SECONDS: "10s";
|
|
48
|
+
readonly EVERY_30_SECONDS: "30s";
|
|
49
|
+
readonly EVERY_MINUTE: "1m";
|
|
50
|
+
readonly EVERY_5_MINUTES: "5m";
|
|
51
|
+
readonly EVERY_15_MINUTES: "15m";
|
|
52
|
+
readonly EVERY_30_MINUTES: "30m";
|
|
53
|
+
readonly EVERY_HOUR: "1h";
|
|
54
|
+
readonly EVERY_2_HOURS: "2h";
|
|
55
|
+
readonly EVERY_6_HOURS: "6h";
|
|
56
|
+
readonly EVERY_12_HOURS: "12h";
|
|
57
|
+
readonly DAILY: "24h";
|
|
58
|
+
readonly EVERY_2_DAYS: "48h";
|
|
59
|
+
readonly WEEKLY: "168h";
|
|
60
|
+
};
|
|
61
|
+
export declare enum WorkflowIdReusePolicy {
|
|
62
|
+
ALLOW_DUPLICATE = 0,
|
|
63
|
+
ALLOW_DUPLICATE_FAILED_ONLY = 1,
|
|
64
|
+
REJECT_DUPLICATE = 2,
|
|
65
|
+
TERMINATE_IF_RUNNING = 3
|
|
66
|
+
}
|
|
67
|
+
export declare enum WorkflowIdConflictPolicy {
|
|
68
|
+
REJECT_DUPLICATE = "REJECT_DUPLICATE",
|
|
69
|
+
TERMINATE_IF_RUNNING = "TERMINATE_IF_RUNNING",
|
|
70
|
+
ALLOW_DUPLICATE = "ALLOW_DUPLICATE"
|
|
71
|
+
}
|
|
72
|
+
export declare enum ScheduleOverlapPolicy {
|
|
73
|
+
ALLOW_ALL = "ALLOW_ALL",
|
|
74
|
+
SKIP = "SKIP",
|
|
75
|
+
BUFFER_ONE = "BUFFER_ONE",
|
|
76
|
+
BUFFER_ALL = "BUFFER_ALL",
|
|
77
|
+
CANCEL_OTHER = "CANCEL_OTHER"
|
|
78
|
+
}
|
|
21
79
|
export declare const ERRORS: {
|
|
22
|
-
CLIENT_INITIALIZATION:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
WORKER_NOT_INITIALIZED:
|
|
26
|
-
INVALID_OPTIONS:
|
|
27
|
-
MISSING_TASK_QUEUE:
|
|
28
|
-
MISSING_WORKFLOW_TYPE:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
readonly
|
|
35
|
-
readonly
|
|
36
|
-
readonly
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
readonly
|
|
41
|
-
readonly
|
|
42
|
-
readonly
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
readonly
|
|
48
|
-
readonly
|
|
49
|
-
readonly
|
|
50
|
-
readonly
|
|
51
|
-
|
|
52
|
-
|
|
80
|
+
readonly CLIENT_INITIALIZATION: "Failed to initialize Temporal client";
|
|
81
|
+
readonly CLIENT_NOT_INITIALIZED: "Temporal client not initialized";
|
|
82
|
+
readonly WORKER_INITIALIZATION: "Failed to initialize Temporal worker";
|
|
83
|
+
readonly WORKER_NOT_INITIALIZED: "Temporal worker not initialized";
|
|
84
|
+
readonly INVALID_OPTIONS: "Invalid Temporal module options";
|
|
85
|
+
readonly MISSING_TASK_QUEUE: "Task queue is required";
|
|
86
|
+
readonly MISSING_WORKFLOW_TYPE: "Workflow type is required";
|
|
87
|
+
readonly MISSING_SCHEDULE_ID: "Schedule ID is required";
|
|
88
|
+
readonly ACTIVITY_NOT_FOUND: "Activity not found";
|
|
89
|
+
readonly WORKFLOW_NOT_FOUND: "Workflow not found";
|
|
90
|
+
readonly WORKFLOW_CONTROLLER_NOT_FOUND: "Workflow controller not found";
|
|
91
|
+
readonly DUPLICATE_WORKFLOW_NAME: "Duplicate workflow name found";
|
|
92
|
+
readonly SCHEDULE_CLIENT_NOT_INITIALIZED: "Temporal schedule client not initialized";
|
|
93
|
+
readonly INVALID_SCHEDULE_OPTIONS: "Invalid schedule options";
|
|
94
|
+
readonly INVALID_CRON_EXPRESSION: "Invalid cron expression";
|
|
95
|
+
readonly SCHEDULE_ALREADY_EXISTS: "Schedule already exists";
|
|
96
|
+
readonly SCHEDULE_NOT_FOUND: "Schedule not found";
|
|
97
|
+
readonly WORKFLOW_EXECUTION_FAILED: "Workflow execution failed";
|
|
98
|
+
readonly SIGNAL_DELIVERY_FAILED: "Signal delivery failed";
|
|
99
|
+
readonly QUERY_EXECUTION_FAILED: "Query execution failed";
|
|
100
|
+
readonly ACTIVITY_EXECUTION_FAILED: "Activity execution failed";
|
|
101
|
+
readonly ACTIVITY_TIMEOUT: "Activity execution timeout";
|
|
102
|
+
readonly ACTIVITY_RETRY_EXHAUSTED: "Activity retry attempts exhausted";
|
|
103
|
+
};
|
|
104
|
+
export declare const TIMEOUTS: {
|
|
105
|
+
readonly HEARTBEAT: "30s";
|
|
106
|
+
readonly SIGNAL_TIMEOUT: "10s";
|
|
107
|
+
readonly QUERY_TIMEOUT: "5s";
|
|
108
|
+
readonly ACTIVITY_SHORT: "1m";
|
|
109
|
+
readonly ACTIVITY_MEDIUM: "5m";
|
|
110
|
+
readonly ACTIVITY_LONG: "30m";
|
|
111
|
+
readonly WORKFLOW_SHORT: "1h";
|
|
112
|
+
readonly WORKFLOW_MEDIUM: "24h";
|
|
113
|
+
readonly WORKFLOW_LONG: "7d";
|
|
114
|
+
readonly CONNECTION_TIMEOUT: "10s";
|
|
115
|
+
readonly STARTUP_TIMEOUT: "30s";
|
|
116
|
+
};
|
|
117
|
+
export declare const RETRY_POLICIES: {
|
|
118
|
+
readonly QUICK: {
|
|
119
|
+
readonly maximumAttempts: 3;
|
|
120
|
+
readonly initialInterval: "1s";
|
|
121
|
+
readonly maximumInterval: "10s";
|
|
122
|
+
readonly backoffCoefficient: 2;
|
|
123
|
+
};
|
|
124
|
+
readonly STANDARD: {
|
|
125
|
+
readonly maximumAttempts: 5;
|
|
126
|
+
readonly initialInterval: "5s";
|
|
127
|
+
readonly maximumInterval: "60s";
|
|
128
|
+
readonly backoffCoefficient: 2;
|
|
129
|
+
};
|
|
130
|
+
readonly AGGRESSIVE: {
|
|
131
|
+
readonly maximumAttempts: 10;
|
|
132
|
+
readonly initialInterval: "1s";
|
|
133
|
+
readonly maximumInterval: "300s";
|
|
134
|
+
readonly backoffCoefficient: 1.5;
|
|
135
|
+
};
|
|
136
|
+
readonly CONSERVATIVE: {
|
|
137
|
+
readonly maximumAttempts: 3;
|
|
138
|
+
readonly initialInterval: "30s";
|
|
139
|
+
readonly maximumInterval: "600s";
|
|
140
|
+
readonly backoffCoefficient: 3;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
export declare const WORKER_PRESETS: {
|
|
144
|
+
readonly DEVELOPMENT: {
|
|
145
|
+
readonly maxConcurrentActivityTaskExecutions: 10;
|
|
146
|
+
readonly maxConcurrentWorkflowTaskExecutions: 5;
|
|
147
|
+
readonly maxConcurrentLocalActivityExecutions: 10;
|
|
148
|
+
readonly reuseV8Context: false;
|
|
149
|
+
};
|
|
150
|
+
readonly PRODUCTION_BALANCED: {
|
|
151
|
+
readonly maxConcurrentActivityTaskExecutions: 100;
|
|
152
|
+
readonly maxConcurrentWorkflowTaskExecutions: 40;
|
|
153
|
+
readonly maxConcurrentLocalActivityExecutions: 100;
|
|
154
|
+
readonly reuseV8Context: true;
|
|
155
|
+
};
|
|
156
|
+
readonly PRODUCTION_HIGH_THROUGHPUT: {
|
|
157
|
+
readonly maxConcurrentActivityTaskExecutions: 200;
|
|
158
|
+
readonly maxConcurrentWorkflowTaskExecutions: 80;
|
|
159
|
+
readonly maxConcurrentLocalActivityExecutions: 200;
|
|
160
|
+
readonly reuseV8Context: true;
|
|
161
|
+
readonly maxActivitiesPerSecond: 1000;
|
|
162
|
+
};
|
|
163
|
+
readonly PRODUCTION_MINIMAL: {
|
|
164
|
+
readonly maxConcurrentActivityTaskExecutions: 20;
|
|
165
|
+
readonly maxConcurrentWorkflowTaskExecutions: 10;
|
|
166
|
+
readonly maxConcurrentLocalActivityExecutions: 20;
|
|
167
|
+
readonly reuseV8Context: true;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
export declare const LOG_CATEGORIES: {
|
|
171
|
+
readonly CLIENT: "TemporalClient";
|
|
172
|
+
readonly WORKER: "TemporalWorker";
|
|
173
|
+
readonly DISCOVERY: "WorkflowDiscovery";
|
|
174
|
+
readonly SCHEDULE: "ScheduleManager";
|
|
175
|
+
readonly ACTIVITY: "ActivityExecution";
|
|
176
|
+
readonly WORKFLOW: "WorkflowExecution";
|
|
177
|
+
};
|
|
178
|
+
export declare const METRICS: {
|
|
179
|
+
readonly WORKFLOW_STARTED: "temporal_workflow_started_total";
|
|
180
|
+
readonly WORKFLOW_COMPLETED: "temporal_workflow_completed_total";
|
|
181
|
+
readonly WORKFLOW_FAILED: "temporal_workflow_failed_total";
|
|
182
|
+
readonly ACTIVITY_STARTED: "temporal_activity_started_total";
|
|
183
|
+
readonly ACTIVITY_COMPLETED: "temporal_activity_completed_total";
|
|
184
|
+
readonly ACTIVITY_FAILED: "temporal_activity_failed_total";
|
|
185
|
+
readonly WORKFLOW_DURATION: "temporal_workflow_duration_seconds";
|
|
186
|
+
readonly ACTIVITY_DURATION: "temporal_activity_duration_seconds";
|
|
187
|
+
readonly QUEUE_TIME: "temporal_queue_time_seconds";
|
|
188
|
+
readonly ACTIVE_WORKFLOWS: "temporal_active_workflows";
|
|
189
|
+
readonly ACTIVE_ACTIVITIES: "temporal_active_activities";
|
|
190
|
+
readonly WORKER_CAPACITY: "temporal_worker_capacity";
|
|
191
|
+
};
|