@nsshunt/stsappframework 2.19.234 → 2.19.238

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.
Files changed (49) hide show
  1. package/dist/processbase.js +9 -53
  2. package/dist/processbase.js.map +1 -1
  3. package/dist/serverprocessbase.js +7 -7
  4. package/dist/serverprocessbase.js.map +1 -1
  5. package/dist/singleprocessbase.js +3 -3
  6. package/dist/singleprocessbase.js.map +1 -1
  7. package/dist/stslatencycontroller.js +5 -1
  8. package/dist/stslatencycontroller.js.map +1 -1
  9. package/dist/tcpserver/app.js +3 -2
  10. package/dist/tcpserver/app.js.map +1 -1
  11. package/dist/tcpserver/appConfig.js +2 -1
  12. package/dist/tcpserver/appConfig.js.map +1 -1
  13. package/dist/testing/app.js +4 -3
  14. package/dist/testing/app.js.map +1 -1
  15. package/dist/testing/appConfig.js +7 -4
  16. package/dist/testing/appConfig.js.map +1 -1
  17. package/dist/testing/appWorkerWSS.js +137 -0
  18. package/dist/testing/appWorkerWSS.js.map +1 -0
  19. package/dist/testing/singleservertest.test.js +121 -3
  20. package/dist/testing/singleservertest.test.js.map +1 -1
  21. package/dist/workerprocessbase.js.map +1 -1
  22. package/package.json +2 -1
  23. package/src/kafkatesting/produce.js +0 -1
  24. package/src/processbase.ts +10 -62
  25. package/src/processoptions.ts +5 -0
  26. package/src/serverprocessbase.ts +7 -7
  27. package/src/singleprocessbase.ts +3 -3
  28. package/src/stslatencycontroller.ts +5 -1
  29. package/src/tcpserver/app.ts +2 -2
  30. package/src/tcpserver/appConfig.ts +2 -1
  31. package/src/testing/app.ts +4 -3
  32. package/src/testing/appConfig.ts +9 -5
  33. package/src/testing/appWorkerWSS.ts +153 -0
  34. package/src/testing/docker-compose.yml +20 -0
  35. package/src/testing/singleservertest.test.ts +145 -4
  36. package/src/workerprocessbase.ts +0 -1
  37. package/types/processbase.d.ts.map +1 -1
  38. package/types/processoptions.d.ts +4 -0
  39. package/types/processoptions.d.ts.map +1 -1
  40. package/types/serverprocessbase.d.ts +1 -1
  41. package/types/serverprocessbase.d.ts.map +1 -1
  42. package/types/stslatencycontroller.d.ts.map +1 -1
  43. package/types/tcpserver/appConfig.d.ts +1 -1
  44. package/types/tcpserver/appConfig.d.ts.map +1 -1
  45. package/types/testing/appConfig.d.ts +1 -1
  46. package/types/testing/appConfig.d.ts.map +1 -1
  47. package/types/testing/appWorkerWSS.d.ts +26 -0
  48. package/types/testing/appWorkerWSS.d.ts.map +1 -0
  49. package/types/workerprocessbase.d.ts.map +1 -1
@@ -36,10 +36,33 @@ const stsconfig_1 = require("@nsshunt/stsconfig");
36
36
  const goptions = (0, stsconfig_1.$Options)();
37
37
  const https = __importStar(require("node:https"));
38
38
  const vitest_1 = require("vitest");
39
+ const stssocketio_client_1 = require("@nsshunt/stssocketio-client");
40
+ const index_1 = require("./../index");
39
41
  (0, vitest_1.describe)("Single Server Test", () => {
42
+ /*
43
+ const kafka = new Kafka({
44
+ clientId: 'my-app',
45
+ brokers: ['192.168.14.92:9092']
46
+ //brokers: ['localhost:9092', 'kafka2:9092'],
47
+ })
48
+ let producer: any;
49
+ let environment: any;
50
+ */
40
51
  let app = null;
41
52
  let httpsAgent = null;
42
53
  const endpoint = 'https://localhost';
54
+ const socketUtilsoptions = {
55
+ agentOptions: {
56
+ keepAlive: goptions.keepAlive,
57
+ maxSockets: goptions.maxSockets,
58
+ maxTotalSockets: goptions.maxTotalSockets,
59
+ maxFreeSockets: goptions.maxFreeSockets,
60
+ timeout: 30000,
61
+ rejectUnauthorized: goptions.isProduction // Allows self signed certs in non production mode(s)
62
+ }
63
+ };
64
+ const socketUtils = new stssocketio_client_1.SocketIoClientHelper(socketUtilsoptions);
65
+ const instrumentManagerAddress = `${endpoint}:${goptions.rest01port}/${index_1.STSNamespace.STSMonitor}/`;
43
66
  const HandleError = (error) => {
44
67
  debug(`Error: [${error}]`.red);
45
68
  if (axios_1.default.isAxiosError(error)) {
@@ -86,7 +109,6 @@ const vitest_1 = require("vitest");
86
109
  headers: headers,
87
110
  httpsAgent: httpsAgent
88
111
  });
89
- //debug(retVal.data);
90
112
  return retVal;
91
113
  }
92
114
  catch (error) {
@@ -94,8 +116,74 @@ const vitest_1 = require("vitest");
94
116
  return null;
95
117
  }
96
118
  };
119
+ /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars */
120
+ /*
121
+ const socketDetail: ISocketDetail = socketUtils.SetupClientSideSocket('STSUITerm', instrumentManagerAddress, [
122
+ {
123
+ eventName: 'hello',
124
+ eventCb: (socket: any, data: any): void => {
125
+ debug(`Received: [hello:${data}]`);
126
+ }
127
+ },
128
+ {
129
+ eventName: 'goodbye',
130
+ eventCb: (socket: any, data: any) => {
131
+ debug(`Received: [goodbye:${data}]`);
132
+ }
133
+ },
134
+ {
135
+ eventName: 'registerEcho',
136
+ eventCb: (socket: any, data: any) => {
137
+ debug(`Received: [registerEcho:${JSON.stringify(data)}]`);
138
+ }
139
+ },
140
+ {
141
+ eventName: STSEvent.connect,
142
+ eventCb: (socket: STSClientSocket, data: any) => {
143
+ socket.emit('joinRoom', STSRoom.STSInstrumentDataRoom);
144
+ }
145
+ },
146
+ {
147
+ eventName: 'sts_connect_reply',
148
+ eventCb: (socket: STSClientSocket, data: any) => {
149
+ debug(`Received: [sts_connect_reply:${JSON.stringify(data)}]`);
150
+ }
151
+ }
152
+ ]);
153
+ */
97
154
  (0, vitest_1.beforeAll)(async () => {
98
- debug_1.default.enable('proc*');
155
+ /*
156
+ const composeFilePath = "/home/marcusbettens/projects/stsappframework/src/testing";
157
+ const composeFile = "docker-compose.yml";
158
+ try {
159
+ environment = await new DockerComposeEnvironment(composeFilePath, composeFile)
160
+ .withWaitStrategy("kafka", Wait.forLogMessage("[KafkaServer id=1001] started (kafka.server.KafkaServer)"))
161
+ .withPullPolicy(new AlwaysPullPolicy())
162
+ .up()
163
+ } catch (error) {
164
+ console.error(error)
165
+ throw error;
166
+ }
167
+
168
+ console.log('done'.green)
169
+ console.log('done'.green)
170
+ console.log('done'.green)
171
+ console.log('done'.green)
172
+ console.log('done'.green)
173
+ console.log('done'.green)
174
+ console.log('done'.green)
175
+ console.log('done'.green)
176
+ console.log('done'.green)
177
+ console.log('done'.green)
178
+ console.log('done'.green)
179
+ console.log('done'.green)
180
+ console.log('done'.green)
181
+ console.log('done'.green)
182
+ */
183
+ /*
184
+ producer = kafka.producer()
185
+ await producer.connect()
186
+ */
99
187
  /*
100
188
  process.env.AS_ENDPOINT = testHelper.authHost;
101
189
  process.env.AS_HOST_PORT = testHelper.authPort;
@@ -107,7 +195,7 @@ const vitest_1 = require("vitest");
107
195
  //goptions.asendpoint = testHelper.authHost;
108
196
  //goptions.asport = testHelper.authPort;
109
197
  */
110
- const appOptions = (0, appConfig_1.ServiceConfigOptions)(true);
198
+ const appOptions = (0, appConfig_1.ServiceConfigOptions)(true, true);
111
199
  appOptions.processExitOnTerminate = false;
112
200
  //app = new SingleProcessBase(appOptions)
113
201
  app = new __1.MasterProcessBase(appOptions);
@@ -116,6 +204,9 @@ const vitest_1 = require("vitest");
116
204
  }, 60000);
117
205
  (0, vitest_1.afterAll)(async () => {
118
206
  await (0, stsutils_1.Sleep)(500);
207
+ // Kafka disconnect
208
+ //await producer.disconnect()
209
+ //@@await environment.down();
119
210
  //await (app as SingleProcessBase).TerminateApplication();
120
211
  await (0, stsutils_1.Sleep)(1000);
121
212
  app = null;
@@ -136,11 +227,38 @@ const vitest_1 = require("vitest");
136
227
  const num = 50;
137
228
  vitest_1.expect.assertions(num * 2);
138
229
  for (let i = 0; i < num; i++) {
230
+ /*
231
+ const retValKafka = await producer.send({
232
+ topic: 'topic-name2',
233
+ messages: [
234
+ { key: 'key1', value: `hello world - ${i}` },
235
+ ],
236
+ })
237
+ */
139
238
  const retVal = await getLatency();
140
239
  const retValObj = retVal?.data.data;
141
240
  (0, vitest_1.expect)(retValObj).toMatch('Ping Completed At:');
142
241
  (0, vitest_1.expect)(retVal && retVal.status).toEqual(200);
143
242
  }
144
243
  }, 10000);
244
+ (0, vitest_1.test)('client socket testing', async () => {
245
+ vitest_1.expect.assertions(1);
246
+ let complete = false;
247
+ const socketDetail = socketUtils.SetupClientSideSocket('STSUITerm', instrumentManagerAddress, [
248
+ {
249
+ eventName: 'sts_connect_reply',
250
+ eventCb: (socket, data) => {
251
+ debug(`Received: [sts_connect_reply:${JSON.stringify(data)}]`);
252
+ (0, vitest_1.expect)(1).toEqual(1);
253
+ complete = true;
254
+ }
255
+ }
256
+ ]);
257
+ socketDetail.socket?.emit('sts_connect');
258
+ while (!complete) {
259
+ await (0, stsutils_1.Sleep)(100);
260
+ }
261
+ //expect(1).toEqual(1);
262
+ }, 3000);
145
263
  });
146
264
  //# sourceMappingURL=singleservertest.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"singleservertest.test.js","sourceRoot":"","sources":["../../src/testing/singleservertest.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singleservertest.test.js","sourceRoot":"","sources":["../../src/testing/singleservertest.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workerprocessbase.js","sourceRoot":"","sources":["../src/workerprocessbase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workerprocessbase.js","sourceRoot":"","sources":["../src/workerprocessbase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "2.19.234",
3
+ "version": "2.19.238",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -50,6 +50,7 @@
50
50
  "@nsshunt/stsdatamanagement": "^1.17.99",
51
51
  "@nsshunt/stsinstrumentation": "^6.11.87",
52
52
  "@nsshunt/stspublisherserver": "^1.15.84",
53
+ "@nsshunt/stssocketio-client": "^0.0.9",
53
54
  "@nsshunt/stsutils": "^1.16.6",
54
55
  "@socket.io/cluster-adapter": "^0.2.2",
55
56
  "@socket.io/redis-streams-adapter": "^0.1.0",
@@ -12,7 +12,6 @@ const kafka = new Kafka({
12
12
 
13
13
  const runme = async () => {
14
14
  const producer = kafka.producer()
15
-
16
15
  await producer.connect()
17
16
 
18
17
  const count = 100000;
@@ -89,62 +89,18 @@ export abstract class ProcessBase extends STSOptionsBase implements IProcessBase
89
89
  } as InstrumentLogTelemetry);
90
90
  };
91
91
  }
92
+
93
+ #GetRootFolder = (): string => {
94
+ const mainpath = require.resolve('@nsshunt/stsutils');
95
+ const anotherDir = path.dirname(mainpath);
96
+ const sSplit = anotherDir.split('/')
97
+ const result = sSplit.slice(0, -4) // Remove the last 4 path elements, this will be 'node_modules/@nsshunt/stsutils/dist'
98
+ return result.join('/');
99
+ }
92
100
 
93
101
  #ServiceCollectorWorkerFactory: IWorkerFactory = {
94
102
  createWorker: (): Worker => {
95
- const mainpath = require.resolve('@nsshunt/stsutils');
96
- const anotherDir = path.dirname(mainpath);
97
- const sSplit = anotherDir.split('/')
98
- const result = sSplit.slice(0, -4)
99
-
100
- console.log(anotherDir)
101
- console.log(anotherDir)
102
- console.log(anotherDir)
103
- console.log(anotherDir)
104
- console.log(anotherDir)
105
- console.log(anotherDir)
106
- console.log(anotherDir)
107
- console.log(anotherDir)
108
-
109
- console.log(result)
110
- console.log(result)
111
- console.log(result)
112
- console.log(result)
113
- console.log(result)
114
- console.log(result)
115
- console.log(result)
116
-
117
- console.log(sSplit)
118
- console.log(sSplit)
119
- console.log(sSplit)
120
- console.log(sSplit)
121
- console.log(sSplit)
122
- console.log(sSplit)
123
-
124
- const res = result.join('/')
125
- console.log(res)
126
- console.log(res)
127
- console.log(res)
128
- console.log(res)
129
- console.log(res)
130
- console.log(res)
131
-
132
-
133
- //const fileName = './node_modules/@nsshunt/stsappframework/dist/processcollector.js';
134
- const fileName = result.join('/') + '/dist/processcollectorworker.js';
135
-
136
- console.log(fileName)
137
- console.log(fileName)
138
- console.log(fileName)
139
- console.log(fileName)
140
- console.log(fileName)
141
- console.log(fileName)
142
- console.log(fileName)
143
- console.log(fileName)
144
- console.log(fileName)
145
- console.log(fileName)
146
-
147
- //const fileName = './dist/processcollectorworker.js';
103
+ const fileName = this.#GetRootFolder() + '/dist/processcollectorworker.js';
148
104
 
149
105
  //@@ check for copy env like
150
106
  // const envCopy = { ...process.env };
@@ -180,15 +136,7 @@ export abstract class ProcessBase extends STSOptionsBase implements IProcessBase
180
136
 
181
137
  #ServiceBrokerWorkerFactory: IWorkerFactory = {
182
138
  createWorker: (): Worker => {
183
- /*
184
- const mainpath = require.resolve('@nsshunt/stsappframework');
185
- const anotherDir = path.dirname(mainpath);
186
-
187
- //const fileName = './node_modules/@nsshunt/stsappframework/dist/processcollector.js';
188
- const fileName = anotherDir + '/processbrokerworker.js';
189
- */
190
-
191
- const fileName = './dist/processbrokerworker.js';
139
+ const fileName = this.#GetRootFolder() + '/dist/processbrokerworker.js';
192
140
 
193
141
  //@@ check for copy env like
194
142
  // const envCopy = { ...process.env };
@@ -161,4 +161,9 @@ export interface ProcessOptions {
161
161
  redisInstrumentationTransportUrl?: string
162
162
 
163
163
  workerExec?: string
164
+
165
+ /**
166
+ * Is this application using nodejs cluster mode?
167
+ */
168
+ clusterMode: boolean
164
169
  }
@@ -155,7 +155,7 @@ export class ServerProcessBase extends ProcessBase
155
155
  });
156
156
  }
157
157
 
158
- #SetupWSSServer = async (clusterMode: boolean): Promise<void> => {
158
+ #SetupWSSServer = async (): Promise<void> => {
159
159
  // socket.io
160
160
  // WebSocket
161
161
  const options: Partial<ServerOptions> = {
@@ -168,7 +168,7 @@ export class ServerProcessBase extends ProcessBase
168
168
  //this.#io = require("socket.io")(this.#httpServer, options);
169
169
  this.#io = new Server(this.#httpServer, options);
170
170
 
171
- if (clusterMode) {
171
+ if (this.options.clusterMode) {
172
172
  if (this.options.useRedisAdaptor) {
173
173
  this.LogEx(`Using Redis for socket.io cluster management (worker)`);
174
174
  if (this.options.redisAdaptorUrl) {
@@ -220,7 +220,7 @@ export class ServerProcessBase extends ProcessBase
220
220
  this.#SetupPrometheusEndPoints((this.#expressServer as STSExpressServer).App);
221
221
  }
222
222
  if (this.options.wssServer === true) {
223
- await this.#SetupWSSServer(true);
223
+ await this.#SetupWSSServer();
224
224
  }
225
225
  // https://stackoverflow.com/questions/21342828/node-express-unix-domain-socket-permissions
226
226
  //@@httpServer.listen('/tmp/stsrest01.sock').on('listening', () =>
@@ -271,7 +271,7 @@ export class ServerProcessBase extends ProcessBase
271
271
  // instrument timers (gauge etc.)
272
272
  // publisher
273
273
  // terminate UI (if loaded)
274
- Terminate = async (clusterMode: boolean, clusterPerformExit: boolean, signal?: any): Promise<void> => {
274
+ Terminate = async (clusterPerformExit: boolean, signal?: any): Promise<void> => {
275
275
  if (this.#shuttingDown === false) {
276
276
  this.#shuttingDown = true;
277
277
 
@@ -279,7 +279,7 @@ export class ServerProcessBase extends ProcessBase
279
279
 
280
280
  await this.ProcessTerminating();
281
281
 
282
- if (!clusterMode) {
282
+ if (!this.options.clusterMode) {
283
283
  if (this.GetUIController() !== null)
284
284
  {
285
285
  this.LogEx('Destroy the user interface controller.');
@@ -324,7 +324,7 @@ export class ServerProcessBase extends ProcessBase
324
324
  //await this.accessLayer.enddatabase();
325
325
  }
326
326
 
327
- if (clusterMode) {
327
+ if (this.options.clusterMode) {
328
328
  this.LogEx(`Performing exit value: [${clusterPerformExit}]`);
329
329
  if (clusterPerformExit) {
330
330
  this.LogEx(`Process will self terminate with process.exit(0).`);
@@ -350,7 +350,7 @@ export class ServerProcessBase extends ProcessBase
350
350
 
351
351
  await Sleep(1000); // Allow socket.io time to clean-up
352
352
 
353
- if (clusterMode) {
353
+ if (this.options.clusterMode) {
354
354
  if (clusterPerformExit) {
355
355
  setTimeout(() => {
356
356
  process.exit(0);
@@ -87,11 +87,11 @@ export class SingleProcessBase extends ServerProcessBase implements ISingleProce
87
87
  this.LogSystemTelemetry();
88
88
 
89
89
  process.on('SIGINT', async () => {
90
- await this.Terminate(false, false, 'SIGINT');
90
+ await this.Terminate(false, 'SIGINT');
91
91
  });
92
92
 
93
93
  process.on('SIGTERM', async () => {
94
- await this.Terminate(false, false, 'SIGTERM');
94
+ await this.Terminate(false, 'SIGTERM');
95
95
  });
96
96
 
97
97
  process.on('exit', (code) => {
@@ -111,6 +111,6 @@ export class SingleProcessBase extends ServerProcessBase implements ISingleProce
111
111
 
112
112
  async TerminateApplication()
113
113
  {
114
- await this.Terminate(false, false, 'SIGINT');
114
+ await this.Terminate(false, 'SIGINT');
115
115
  }
116
116
  }
@@ -12,7 +12,11 @@ export class STSLatencyController extends STSControllerBase
12
12
  async stslatency(req: any, res: any)
13
13
  {
14
14
  try {
15
- const retVal = { data: `Ping Completed At: ${Date.now()}` };
15
+ const retVal = {
16
+ data: `Ping Completed At: ${Date.now()}`,
17
+ pid: process.pid,
18
+ ppid: process.ppid
19
+ };
16
20
  return res.status(StatusCodes.OK).send(retVal);
17
21
  } catch (error) {
18
22
  console.error(error);
@@ -5,7 +5,7 @@ import { AppMaster } from './appmaster'
5
5
  import cluster from 'cluster';
6
6
 
7
7
  if (cluster.isPrimary) {
8
- new AppMaster(ServiceConfigOptions(cluster.isPrimary)).SetupServer();
8
+ new AppMaster(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
9
9
  } else {
10
- //new WorkerProcessBase(ServiceConfigOptions(cluster.isPrimary)).SetupServer();
10
+ new WorkerProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
11
11
  }
@@ -24,12 +24,13 @@ ${process.pid}${ModelDelimeter.COMPONENT_SEPERATOR}${(isMaster ? process.pid : p
24
24
  }
25
25
  */
26
26
 
27
- export function ServiceConfigOptions(isMaster: boolean): ProcessOptions {
27
+ export function ServiceConfigOptions(clusterMode: boolean, isMaster: boolean): ProcessOptions {
28
28
  if (isMaster === true) {
29
29
  const serviceInstanceId = uuidv4();
30
30
  const data: ProcessOptions = {
31
31
  serverType: STSServerType.TCPRAW_TLS,
32
32
 
33
+ clusterMode: clusterMode,
33
34
  wssServer: false,
34
35
  useLatency: false,
35
36
  httpsServerKeyPath: goptions.httpsserverkeypath,
@@ -1,10 +1,11 @@
1
- import { ServiceConfigOptions } from './appConfig.js'
1
+ import { ServiceConfigOptions } from './appConfig'
2
2
  import { MasterProcessBase, WorkerProcessBase } from './..'
3
+ import { WorkerProcess } from './appWorkerWSS'
3
4
 
4
5
  import cluster from 'cluster';
5
6
 
6
7
  if (cluster.isPrimary) {
7
- new MasterProcessBase(ServiceConfigOptions(cluster.isPrimary)).SetupServer();
8
+ new MasterProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
8
9
  } else {
9
- new WorkerProcessBase(ServiceConfigOptions(cluster.isPrimary)).SetupServer();
10
+ new WorkerProcess(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
10
11
  }
@@ -26,11 +26,12 @@ ${process.pid}${ModelDelimeter.COMPONENT_SEPERATOR}${(isMaster ? process.pid : p
26
26
  }
27
27
  */
28
28
 
29
- export function ServiceConfigOptions(isMaster: boolean): ProcessOptions {
29
+ export function ServiceConfigOptions(clusterMode: boolean, isMaster: boolean): ProcessOptions {
30
30
  if (isMaster === true) {
31
31
  const serviceInstanceId = uuidv4();
32
32
  const data: ProcessOptions = {
33
33
  serverType: STSServerType.EXPRESS_TLS,
34
+ clusterMode: clusterMode,
34
35
  wssServer: true,
35
36
  useLatency: true,
36
37
  httpsServerKeyPath: goptions.httpsserverkeypath,
@@ -51,10 +52,6 @@ export function ServiceConfigOptions(isMaster: boolean): ProcessOptions {
51
52
  serviceVersion: goptions.rest01serviceversion,
52
53
  consoleLogging: true,
53
54
  instrumentLogging: true,
54
-
55
- expressServerRouteFactory: (app: express.Express, stsApp: IProcessBase) => {
56
- return new STSExpressRouteFactory(app, stsApp);
57
- },
58
55
 
59
56
  instrumentationObservationInterval: goptions.instrumentationObservationInterval,
60
57
  instrumentationTimeWindow: goptions.instrumentationTimeWindow,
@@ -62,6 +59,13 @@ export function ServiceConfigOptions(isMaster: boolean): ProcessOptions {
62
59
  useRedisAdaptor: false,
63
60
  workerExec: './dist/testing/app.js'
64
61
  }
62
+
63
+ if (!clusterMode) {
64
+ data.expressServerRouteFactory = (app: express.Express, stsApp: IProcessBase) => {
65
+ return new STSExpressRouteFactory(app, stsApp);
66
+ }
67
+ }
68
+
65
69
  return data;
66
70
  } else {
67
71
  const data: ProcessOptions = JSON.parse(process.env['STS_GSD_SII'] as string) as ProcessOptions;