@dbos-inc/dbos-sdk 2.7.13-preview → 2.7.16-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,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { DBOSExecutor } from '../dbos-executor';
2
3
  import WebSocket from 'ws';
3
4
  export declare class Conductor {
@@ -8,7 +9,15 @@ export declare class Conductor {
8
9
  websocket: WebSocket | undefined;
9
10
  isShuttingDown: boolean;
10
11
  isClosed: boolean;
12
+ pingPeriodMs: number;
13
+ pingTimeoutMs: number;
14
+ pingInterval: NodeJS.Timeout | undefined;
15
+ pingTimeout: NodeJS.Timeout | undefined;
16
+ reconnectDelayMs: number;
17
+ reconnectTimeout: NodeJS.Timeout | undefined;
11
18
  constructor(dbosExec: DBOSExecutor, conductorKey: string, conductorURL: string);
19
+ resetWebsocket(): void;
20
+ setPingInterval(): void;
12
21
  dispatchLoop(): void;
13
22
  stop(): void;
14
23
  }
@@ -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;AAO3B,qBAAa,SAAS;IAOlB,QAAQ,CAAC,QAAQ,EAAE,YAAY;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAR/B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;IAC7C,cAAc,UAAS;IACvB,QAAQ,UAAS;gBAGN,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM;IAO/B,YAAY;IAkOZ,IAAI;CAML"}
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;AAO3B,qBAAa,SAAS;IAalB,QAAQ,CAAC,QAAQ,EAAE,YAAY;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAd/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,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAa;IACrD,WAAW,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAa;IACpD,gBAAgB,SAAQ;IACxB,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAa;gBAG9C,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM;IAO/B,cAAc;IAwBd,eAAe;IAyBf,YAAY;IAoOZ,IAAI;CASL"}
@@ -38,8 +38,14 @@ class Conductor {
38
38
  conductorURL;
39
39
  url;
40
40
  websocket = undefined;
41
- isShuttingDown = false;
42
- isClosed = false;
41
+ isShuttingDown = false; // Is in the process of shutting down the connection
42
+ isClosed = false; // Is closed after the connection has been terminated
43
+ pingPeriodMs = 20000; // Time in milliseconds to wait before sending a ping message to the conductor
44
+ pingTimeoutMs = 15000; // Time in milliseconds to wait for a response to a ping message before considering the connection dead
45
+ pingInterval = undefined; // Interval for sending ping messages to the conductor
46
+ pingTimeout = undefined; // Timeout for waiting for a response to a ping message
47
+ reconnectDelayMs = 1000;
48
+ reconnectTimeout = undefined;
43
49
  constructor(dbosExec, conductorKey, conductorURL) {
44
50
  this.dbosExec = dbosExec;
45
51
  this.conductorKey = conductorKey;
@@ -48,17 +54,75 @@ class Conductor {
48
54
  const cleanConductorURL = conductorURL.replace(/\/+$/, '');
49
55
  this.url = `${cleanConductorURL}/websocket/${appName}/${conductorKey}`;
50
56
  }
57
+ resetWebsocket() {
58
+ if (this.pingInterval) {
59
+ clearInterval(this.pingInterval);
60
+ this.pingInterval = undefined;
61
+ }
62
+ if (this.pingTimeout) {
63
+ clearTimeout(this.pingTimeout);
64
+ this.pingTimeout = undefined;
65
+ }
66
+ if (this.websocket) {
67
+ this.websocket.terminate(); // Terminate the existing connection
68
+ this.websocket = undefined; // Set the websocket to undefined to indicate it's closed
69
+ }
70
+ if (this.reconnectTimeout || this.isShuttingDown) {
71
+ return;
72
+ }
73
+ this.dbosExec.logger.debug(`Reconnecting in ${this.reconnectDelayMs / 1000} second`);
74
+ this.reconnectTimeout = setTimeout(() => {
75
+ this.reconnectTimeout = undefined;
76
+ this.dispatchLoop();
77
+ }, this.reconnectDelayMs);
78
+ }
79
+ setPingInterval() {
80
+ // Clear any existing ping interval to avoid multiple intervals being set
81
+ if (this.pingInterval) {
82
+ clearInterval(this.pingInterval);
83
+ this.pingInterval = undefined;
84
+ }
85
+ this.pingInterval = setInterval(() => {
86
+ if (this.websocket?.readyState !== ws_1.default.OPEN) {
87
+ return;
88
+ }
89
+ this.dbosExec.logger.debug('Sending ping to conductor');
90
+ this.websocket.ping();
91
+ // Set ping timeout.
92
+ this.pingTimeout = setTimeout(() => {
93
+ if (this.isShuttingDown) {
94
+ this.isClosed = true;
95
+ return;
96
+ }
97
+ // Otherwise, try to reconnect
98
+ this.dbosExec.logger.error('Connection to conductor lost. Reconnecting...');
99
+ this.resetWebsocket();
100
+ }, this.pingTimeoutMs);
101
+ }, this.pingPeriodMs);
102
+ }
51
103
  dispatchLoop() {
52
104
  if (this.websocket) {
53
105
  this.dbosExec.logger.warn('Conductor websocket already exists');
54
106
  return;
55
107
  }
108
+ if (this.isShuttingDown) {
109
+ this.dbosExec.logger.debug('Not starting dispatch loop as conductor is shutting down');
110
+ return;
111
+ }
56
112
  try {
57
113
  this.dbosExec.logger.debug(`Connecting to conductor at ${this.url}`);
58
114
  // Start a new websocket connection
59
115
  this.websocket = new ws_1.default(this.url, { handshakeTimeout: 5000 });
60
116
  this.websocket.on('open', () => {
61
117
  this.dbosExec.logger.debug('Opened connection to DBOS conductor');
118
+ this.setPingInterval();
119
+ });
120
+ this.websocket.on('pong', () => {
121
+ this.dbosExec.logger.debug('Received pong from conductor');
122
+ if (this.pingTimeout) {
123
+ clearTimeout(this.pingTimeout);
124
+ this.pingTimeout = undefined;
125
+ }
62
126
  });
63
127
  this.websocket.on('message', async (data) => {
64
128
  this.dbosExec.logger.debug(`Received message from conductor: ${data}`);
@@ -232,35 +296,26 @@ class Conductor {
232
296
  else {
233
297
  // Try to reconnect
234
298
  this.dbosExec.logger.error('Connection to conductor lost. Reconnecting.');
235
- setTimeout(() => {
236
- this.websocket?.terminate();
237
- this.websocket = undefined;
238
- this.dispatchLoop();
239
- }, 1000);
299
+ this.resetWebsocket();
240
300
  }
241
301
  });
242
302
  this.websocket.on('error', (err) => {
243
303
  console.error(err);
244
304
  // TODO: better error message, showing the detailed error.
245
305
  this.dbosExec.logger.error(`Unexpected exception in connection to conductor. Reconnecting: ${err.message}`);
246
- setTimeout(() => {
247
- this.websocket?.terminate();
248
- this.websocket = undefined;
249
- this.dispatchLoop();
250
- }, 1000);
306
+ this.resetWebsocket();
251
307
  });
252
308
  }
253
309
  catch (e) {
254
310
  this.dbosExec.logger.error(`Error in conductor loop. Reconnecting: ${e.message}`);
255
- setTimeout(() => {
256
- this.websocket?.terminate();
257
- this.websocket = undefined;
258
- this.dispatchLoop();
259
- }, 1000);
311
+ this.resetWebsocket();
260
312
  }
261
313
  }
262
314
  stop() {
263
315
  this.isShuttingDown = true;
316
+ clearInterval(this.pingInterval);
317
+ clearTimeout(this.pingTimeout);
318
+ clearTimeout(this.reconnectTimeout);
264
319
  if (this.websocket) {
265
320
  this.websocket.close();
266
321
  }
@@ -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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"}