@dbos-inc/dbos-sdk 4.1.6 → 4.2.4-preview
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.
@@ -1,6 +1,10 @@
|
|
1
1
|
/// <reference types="node" />
|
2
2
|
import { DBOSExecutor } from '../dbos-executor';
|
3
3
|
import WebSocket from 'ws';
|
4
|
+
interface IntervalTimeout {
|
5
|
+
interval: NodeJS.Timeout | undefined;
|
6
|
+
timeout: NodeJS.Timeout | undefined;
|
7
|
+
}
|
4
8
|
export declare class Conductor {
|
5
9
|
readonly dbosExec: DBOSExecutor;
|
6
10
|
readonly conductorKey: string;
|
@@ -11,14 +15,14 @@ export declare class Conductor {
|
|
11
15
|
isClosed: boolean;
|
12
16
|
pingPeriodMs: number;
|
13
17
|
pingTimeoutMs: number;
|
14
|
-
|
15
|
-
pingTimeout: NodeJS.Timeout | undefined;
|
18
|
+
pingIntervalTimeout: IntervalTimeout | undefined;
|
16
19
|
reconnectDelayMs: number;
|
17
20
|
reconnectTimeout: NodeJS.Timeout | undefined;
|
18
21
|
constructor(dbosExec: DBOSExecutor, conductorKey: string, conductorURL: string);
|
19
|
-
resetWebsocket(): void;
|
20
|
-
setPingInterval(): void;
|
22
|
+
resetWebsocket(currWebsocket?: WebSocket, currPing?: IntervalTimeout): void;
|
23
|
+
setPingInterval(currWebsocket: WebSocket, currPing: IntervalTimeout): void;
|
21
24
|
dispatchLoop(): void;
|
22
25
|
stop(): void;
|
23
26
|
}
|
27
|
+
export {};
|
24
28
|
//# sourceMappingURL=conductor.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"conductor.d.ts","sourceRoot":"","sources":["../../../src/conductor/conductor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,SAAS,MAAM,IAAI,CAAC;AAS3B,qBAAa,SAAS;
|
1
|
+
{"version":3,"file":"conductor.d.ts","sourceRoot":"","sources":["../../../src/conductor/conductor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,SAAS,MAAM,IAAI,CAAC;AAS3B,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;CACrC;AAED,qBAAa,SAAS;IAYlB,QAAQ,CAAC,QAAQ,EAAE,YAAY;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAb/B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;IAC7C,cAAc,UAAS;IACvB,QAAQ,UAAS;IACjB,YAAY,SAAS;IACrB,aAAa,SAAS;IACtB,mBAAmB,EAAE,eAAe,GAAG,SAAS,CAAa;IAC7D,gBAAgB,SAAQ;IACxB,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAa;gBAG9C,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM;IAQ/B,cAAc,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,eAAe;IAoBpE,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe;IAuBnE,YAAY;IAySZ,IAAI;CAUL"}
|
@@ -41,11 +41,10 @@ class Conductor {
|
|
41
41
|
url;
|
42
42
|
websocket = undefined;
|
43
43
|
isShuttingDown = false; // Is in the process of shutting down the connection
|
44
|
-
isClosed = false; //
|
44
|
+
isClosed = false; // Has the connection been fully closed
|
45
45
|
pingPeriodMs = 20000; // Time in milliseconds to wait before sending a ping message to the conductor
|
46
46
|
pingTimeoutMs = 15000; // Time in milliseconds to wait for a response to a ping message before considering the connection dead
|
47
|
-
|
48
|
-
pingTimeout = undefined; // Timeout for waiting for a response to a ping message
|
47
|
+
pingIntervalTimeout = undefined; // Combined interval and timeout for pinging Conductor
|
49
48
|
reconnectDelayMs = 1000;
|
50
49
|
reconnectTimeout = undefined;
|
51
50
|
constructor(dbosExec, conductorKey, conductorURL) {
|
@@ -57,59 +56,57 @@ class Conductor {
|
|
57
56
|
const cleanConductorURL = conductorURL.replace(/\/+$/, '');
|
58
57
|
this.url = `${cleanConductorURL}/websocket/${appName}/${conductorKey}`;
|
59
58
|
}
|
60
|
-
resetWebsocket() {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
if (this.websocket) {
|
70
|
-
this.websocket.terminate(); // Terminate the existing connection
|
71
|
-
this.websocket = undefined; // Set the websocket to undefined to indicate it's closed
|
59
|
+
resetWebsocket(currWebsocket, currPing) {
|
60
|
+
clearInterval(currPing?.interval);
|
61
|
+
clearTimeout(currPing?.timeout);
|
62
|
+
if (currWebsocket) {
|
63
|
+
currWebsocket.terminate(); // Terminate the existing connection
|
64
|
+
if (this.websocket === currWebsocket) {
|
65
|
+
// Only clear if it's the same websocket
|
66
|
+
this.websocket = undefined;
|
67
|
+
}
|
72
68
|
}
|
73
69
|
if (this.reconnectTimeout || this.isShuttingDown) {
|
74
70
|
return;
|
75
71
|
}
|
76
72
|
this.dbosExec.logger.debug(`Reconnecting in ${this.reconnectDelayMs / 1000} second`);
|
77
73
|
this.reconnectTimeout = setTimeout(() => {
|
78
|
-
this.reconnectTimeout = undefined;
|
79
74
|
this.dispatchLoop();
|
80
75
|
}, this.reconnectDelayMs);
|
81
76
|
}
|
82
|
-
setPingInterval() {
|
77
|
+
setPingInterval(currWebsocket, currPing) {
|
83
78
|
// Clear any existing ping interval to avoid multiple intervals being set
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
if (this.websocket?.readyState !== ws_1.default.OPEN) {
|
90
|
-
return;
|
91
|
-
}
|
92
|
-
this.dbosExec.logger.debug('Sending ping to conductor');
|
93
|
-
this.websocket.ping();
|
94
|
-
// Set ping timeout.
|
95
|
-
this.pingTimeout = setTimeout(() => {
|
79
|
+
clearInterval(currPing.interval);
|
80
|
+
clearTimeout(currPing.timeout);
|
81
|
+
currPing.interval = setInterval(() => {
|
82
|
+
// Set ping timeout before sending ping. This prevents the socket from hanging at a non-open state indefinitely
|
83
|
+
currPing.timeout = setTimeout(() => {
|
96
84
|
if (this.isShuttingDown) {
|
97
|
-
this.isClosed = true;
|
98
85
|
return;
|
99
86
|
}
|
100
87
|
else if (this.reconnectTimeout === undefined) {
|
101
88
|
// Otherwise, try to reconnect if we haven't already
|
102
89
|
this.dbosExec.logger.warn('Connection to conductor lost. Reconnecting...');
|
103
|
-
this.resetWebsocket();
|
90
|
+
this.resetWebsocket(currWebsocket, currPing);
|
104
91
|
}
|
105
92
|
}, this.pingTimeoutMs);
|
93
|
+
// Only ping if the connection is open
|
94
|
+
if (currWebsocket.readyState === ws_1.default.OPEN) {
|
95
|
+
this.dbosExec.logger.debug('Sending ping to conductor');
|
96
|
+
currWebsocket.ping();
|
97
|
+
}
|
106
98
|
}, this.pingPeriodMs);
|
107
99
|
}
|
108
100
|
dispatchLoop() {
|
109
|
-
if (this.websocket
|
101
|
+
if (this.websocket &&
|
102
|
+
(this.websocket.readyState === ws_1.default.OPEN || this.websocket.readyState === ws_1.default.CONNECTING)) {
|
110
103
|
this.dbosExec.logger.warn('Conductor websocket already exists');
|
111
104
|
return;
|
112
105
|
}
|
106
|
+
clearTimeout(this.pingIntervalTimeout?.timeout);
|
107
|
+
clearInterval(this.pingIntervalTimeout?.interval);
|
108
|
+
clearTimeout(this.reconnectTimeout);
|
109
|
+
this.reconnectTimeout = undefined;
|
113
110
|
if (this.isShuttingDown) {
|
114
111
|
this.dbosExec.logger.debug('Not starting dispatch loop as conductor is shutting down');
|
115
112
|
return;
|
@@ -117,27 +114,30 @@ class Conductor {
|
|
117
114
|
try {
|
118
115
|
this.dbosExec.logger.debug(`Connecting to conductor at ${this.url}`);
|
119
116
|
// Start a new websocket connection
|
120
|
-
|
121
|
-
this.websocket
|
117
|
+
const currWebsocket = new ws_1.default(this.url, { handshakeTimeout: 5000 });
|
118
|
+
this.websocket = currWebsocket;
|
119
|
+
// Start ping interval
|
120
|
+
const currPing = { interval: undefined, timeout: undefined };
|
121
|
+
this.setPingInterval(currWebsocket, currPing);
|
122
|
+
this.pingIntervalTimeout = currPing;
|
123
|
+
currWebsocket.on('open', () => {
|
122
124
|
this.dbosExec.logger.debug('Opened connection to DBOS conductor');
|
123
|
-
|
125
|
+
clearTimeout(currPing.timeout);
|
124
126
|
});
|
125
|
-
|
127
|
+
currWebsocket.on('pong', () => {
|
126
128
|
this.dbosExec.logger.debug('Received pong from conductor');
|
127
|
-
|
128
|
-
clearTimeout(this.pingTimeout);
|
129
|
-
this.pingTimeout = undefined;
|
130
|
-
}
|
129
|
+
clearTimeout(currPing.timeout);
|
131
130
|
});
|
132
|
-
|
131
|
+
currWebsocket.on('message', async (data) => {
|
133
132
|
this.dbosExec.logger.debug(`Received message from conductor: ${data}`);
|
134
133
|
const baseMsg = JSON.parse(data);
|
135
134
|
const msgType = baseMsg.type;
|
136
135
|
let errorMsg = undefined;
|
136
|
+
clearTimeout(currPing.timeout);
|
137
137
|
switch (msgType) {
|
138
138
|
case protocol.MessageType.EXECUTOR_INFO:
|
139
139
|
const infoResp = new protocol.ExecutorInfoResponse(baseMsg.request_id, utils_1.globalParams.executorID, utils_1.globalParams.appVersion, (0, node_os_1.hostname)());
|
140
|
-
|
140
|
+
currWebsocket.send(JSON.stringify(infoResp));
|
141
141
|
this.dbosExec.logger.info('Connected to DBOS conductor');
|
142
142
|
break;
|
143
143
|
case protocol.MessageType.RECOVERY:
|
@@ -152,7 +152,7 @@ class Conductor {
|
|
152
152
|
success = false;
|
153
153
|
}
|
154
154
|
const recoveryResp = new protocol.RecoveryResponse(baseMsg.request_id, success, errorMsg);
|
155
|
-
|
155
|
+
currWebsocket.send(JSON.stringify(recoveryResp));
|
156
156
|
break;
|
157
157
|
case protocol.MessageType.CANCEL:
|
158
158
|
const cancelMsg = baseMsg;
|
@@ -166,7 +166,7 @@ class Conductor {
|
|
166
166
|
cancelSuccess = false;
|
167
167
|
}
|
168
168
|
const cancelResp = new protocol.CancelResponse(baseMsg.request_id, cancelSuccess, errorMsg);
|
169
|
-
|
169
|
+
currWebsocket.send(JSON.stringify(cancelResp));
|
170
170
|
break;
|
171
171
|
case protocol.MessageType.RESUME:
|
172
172
|
const resumeMsg = baseMsg;
|
@@ -180,7 +180,7 @@ class Conductor {
|
|
180
180
|
resumeSuccess = false;
|
181
181
|
}
|
182
182
|
const resumeResp = new protocol.ResumeResponse(baseMsg.request_id, resumeSuccess, errorMsg);
|
183
|
-
|
183
|
+
currWebsocket.send(JSON.stringify(resumeResp));
|
184
184
|
break;
|
185
185
|
case protocol.MessageType.RESTART:
|
186
186
|
const restartMsg = baseMsg;
|
@@ -194,7 +194,7 @@ class Conductor {
|
|
194
194
|
restartSuccess = false;
|
195
195
|
}
|
196
196
|
const restartResp = new protocol.RestartResponse(baseMsg.request_id, restartSuccess, errorMsg);
|
197
|
-
|
197
|
+
currWebsocket.send(JSON.stringify(restartResp));
|
198
198
|
break;
|
199
199
|
case protocol.MessageType.FORK_WORKFLOW:
|
200
200
|
const forkMsg = baseMsg;
|
@@ -211,7 +211,7 @@ class Conductor {
|
|
211
211
|
newWorkflowID = undefined;
|
212
212
|
}
|
213
213
|
const forkResp = new protocol.ForkWorkflowResponse(baseMsg.request_id, newWorkflowID, errorMsg);
|
214
|
-
|
214
|
+
currWebsocket.send(JSON.stringify(forkResp));
|
215
215
|
break;
|
216
216
|
case protocol.MessageType.LIST_WORKFLOWS:
|
217
217
|
const listWFMsg = baseMsg;
|
@@ -240,7 +240,7 @@ class Conductor {
|
|
240
240
|
this.dbosExec.logger.error(errorMsg);
|
241
241
|
}
|
242
242
|
const wfsResp = new protocol.ListWorkflowsResponse(listWFMsg.request_id, workflowsOutput, errorMsg);
|
243
|
-
|
243
|
+
currWebsocket.send(JSON.stringify(wfsResp));
|
244
244
|
break;
|
245
245
|
case protocol.MessageType.LIST_QUEUED_WORKFLOWS:
|
246
246
|
const listQueuedWFMsg = baseMsg;
|
@@ -266,7 +266,7 @@ class Conductor {
|
|
266
266
|
this.dbosExec.logger.error(errorMsg);
|
267
267
|
}
|
268
268
|
const queuedWfsResp = new protocol.ListQueuedWorkflowsResponse(listQueuedWFMsg.request_id, queuedWFOutput, errorMsg);
|
269
|
-
|
269
|
+
currWebsocket.send(JSON.stringify(queuedWfsResp));
|
270
270
|
break;
|
271
271
|
case protocol.MessageType.GET_WORKFLOW:
|
272
272
|
const getWFMsg = baseMsg;
|
@@ -282,7 +282,7 @@ class Conductor {
|
|
282
282
|
this.dbosExec.logger.error(errorMsg);
|
283
283
|
}
|
284
284
|
const getWFResp = new protocol.GetWorkflowResponse(getWFMsg.request_id, wfOutput, errorMsg);
|
285
|
-
|
285
|
+
currWebsocket.send(JSON.stringify(getWFResp));
|
286
286
|
break;
|
287
287
|
case protocol.MessageType.EXIST_PENDING_WORKFLOWS:
|
288
288
|
const existPendingMsg = baseMsg;
|
@@ -296,7 +296,7 @@ class Conductor {
|
|
296
296
|
this.dbosExec.logger.error(errorMsg);
|
297
297
|
}
|
298
298
|
const existPendingResp = new protocol.ExistPendingWorkflowsResponse(baseMsg.request_id, hasPendingWFs, errorMsg);
|
299
|
-
|
299
|
+
currWebsocket.send(JSON.stringify(existPendingResp));
|
300
300
|
break;
|
301
301
|
case protocol.MessageType.LIST_STEPS:
|
302
302
|
const listStepsMessage = baseMsg;
|
@@ -310,7 +310,7 @@ class Conductor {
|
|
310
310
|
this.dbosExec.logger.error(errorMsg);
|
311
311
|
}
|
312
312
|
const listStepsResponse = new protocol.ListStepsResponse(listStepsMessage.request_id, workflowSteps, errorMsg);
|
313
|
-
|
313
|
+
currWebsocket.send(JSON.stringify(listStepsResponse));
|
314
314
|
break;
|
315
315
|
case protocol.MessageType.RETENTION:
|
316
316
|
const retentionMessage = baseMsg;
|
@@ -327,49 +327,55 @@ class Conductor {
|
|
327
327
|
this.dbosExec.logger.error(errorMsg);
|
328
328
|
}
|
329
329
|
const retentionResponse = new protocol.RetentionResponse(retentionMessage.request_id, retentionSuccess, errorMsg);
|
330
|
-
|
330
|
+
currWebsocket.send(JSON.stringify(retentionResponse));
|
331
331
|
break;
|
332
332
|
default:
|
333
333
|
this.dbosExec.logger.warn(`Unknown message type: ${baseMsg.type}`);
|
334
334
|
// Still need to send a response to the conductor
|
335
335
|
const unknownResp = new protocol.BaseResponse(baseMsg.type, baseMsg.request_id, 'Unknown message type');
|
336
|
-
|
336
|
+
currWebsocket.send(JSON.stringify(unknownResp));
|
337
337
|
}
|
338
338
|
});
|
339
|
-
|
339
|
+
currWebsocket.on('close', () => {
|
340
340
|
if (this.isShuttingDown) {
|
341
341
|
this.dbosExec.logger.info('Shutdown Conductor connection');
|
342
|
-
this.isClosed = true;
|
343
342
|
return;
|
344
343
|
}
|
345
344
|
else if (this.reconnectTimeout === undefined) {
|
346
345
|
this.dbosExec.logger.warn('Connection to conductor lost. Reconnecting.');
|
347
|
-
this.resetWebsocket();
|
346
|
+
this.resetWebsocket(currWebsocket, currPing);
|
348
347
|
}
|
349
348
|
});
|
350
|
-
|
349
|
+
currWebsocket.on('unexpected-response', async (_, res) => {
|
351
350
|
const resBody = await (0, consumers_1.json)(res);
|
352
351
|
this.dbosExec.logger.warn(`Unexpected response from conductor: ${res.statusCode} ${res.statusMessage}. Details: ${JSON.stringify(resBody)}`);
|
353
|
-
this.
|
352
|
+
if (this.reconnectTimeout === undefined) {
|
353
|
+
this.resetWebsocket(currWebsocket, currPing);
|
354
|
+
}
|
354
355
|
});
|
355
|
-
|
356
|
+
currWebsocket.on('error', (err) => {
|
356
357
|
this.dbosExec.logger.warn(`Unexpected exception in connection to conductor. Reconnecting: ${err.message}`);
|
357
|
-
this.
|
358
|
+
if (this.reconnectTimeout === undefined) {
|
359
|
+
this.resetWebsocket(currWebsocket, currPing);
|
360
|
+
}
|
358
361
|
});
|
359
362
|
}
|
360
363
|
catch (e) {
|
361
364
|
this.dbosExec.logger.warn(`Error in conductor loop. Reconnecting: ${e.message}`);
|
362
|
-
this.
|
365
|
+
if (this.reconnectTimeout === undefined) {
|
366
|
+
this.resetWebsocket(this.websocket, this.pingIntervalTimeout);
|
367
|
+
}
|
363
368
|
}
|
364
369
|
}
|
365
370
|
stop() {
|
366
371
|
this.isShuttingDown = true;
|
367
|
-
clearInterval(this.
|
368
|
-
clearTimeout(this.
|
372
|
+
clearInterval(this.pingIntervalTimeout?.interval);
|
373
|
+
clearTimeout(this.pingIntervalTimeout?.timeout);
|
369
374
|
clearTimeout(this.reconnectTimeout);
|
370
375
|
if (this.websocket) {
|
371
376
|
this.websocket.close();
|
372
377
|
}
|
378
|
+
this.isClosed = true;
|
373
379
|
}
|
374
380
|
}
|
375
381
|
exports.Conductor = Conductor;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"conductor.js","sourceRoot":"","sources":["../../../src/conductor/conductor.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"conductor.js","sourceRoot":"","sources":["../../../src/conductor/conductor.ts"],"names":[],"mappings":"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"}
|