@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.
- package/dist/processbase.js +9 -53
- package/dist/processbase.js.map +1 -1
- package/dist/serverprocessbase.js +7 -7
- package/dist/serverprocessbase.js.map +1 -1
- package/dist/singleprocessbase.js +3 -3
- package/dist/singleprocessbase.js.map +1 -1
- package/dist/stslatencycontroller.js +5 -1
- package/dist/stslatencycontroller.js.map +1 -1
- package/dist/tcpserver/app.js +3 -2
- package/dist/tcpserver/app.js.map +1 -1
- package/dist/tcpserver/appConfig.js +2 -1
- package/dist/tcpserver/appConfig.js.map +1 -1
- package/dist/testing/app.js +4 -3
- package/dist/testing/app.js.map +1 -1
- package/dist/testing/appConfig.js +7 -4
- package/dist/testing/appConfig.js.map +1 -1
- package/dist/testing/appWorkerWSS.js +137 -0
- package/dist/testing/appWorkerWSS.js.map +1 -0
- package/dist/testing/singleservertest.test.js +121 -3
- package/dist/testing/singleservertest.test.js.map +1 -1
- package/dist/workerprocessbase.js.map +1 -1
- package/package.json +2 -1
- package/src/kafkatesting/produce.js +0 -1
- package/src/processbase.ts +10 -62
- package/src/processoptions.ts +5 -0
- package/src/serverprocessbase.ts +7 -7
- package/src/singleprocessbase.ts +3 -3
- package/src/stslatencycontroller.ts +5 -1
- package/src/tcpserver/app.ts +2 -2
- package/src/tcpserver/appConfig.ts +2 -1
- package/src/testing/app.ts +4 -3
- package/src/testing/appConfig.ts +9 -5
- package/src/testing/appWorkerWSS.ts +153 -0
- package/src/testing/docker-compose.yml +20 -0
- package/src/testing/singleservertest.test.ts +145 -4
- package/src/workerprocessbase.ts +0 -1
- package/types/processbase.d.ts.map +1 -1
- package/types/processoptions.d.ts +4 -0
- package/types/processoptions.d.ts.map +1 -1
- package/types/serverprocessbase.d.ts +1 -1
- package/types/serverprocessbase.d.ts.map +1 -1
- package/types/stslatencycontroller.d.ts.map +1 -1
- package/types/tcpserver/appConfig.d.ts +1 -1
- package/types/tcpserver/appConfig.d.ts.map +1 -1
- package/types/testing/appConfig.d.ts +1 -1
- package/types/testing/appConfig.d.ts.map +1 -1
- package/types/testing/appWorkerWSS.d.ts +26 -0
- package/types/testing/appWorkerWSS.d.ts.map +1 -0
- 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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,QAAQ,OAAO,CAAC,GAAG,wBAAwB,CAAC,CAAC;AAEvE,kDAAyD;AAEzD,gDAAyC;AACzC,4BAA2D;AAE3D,2CAAkD;AAElD,kDAA4D;AAC5D,MAAM,QAAQ,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAE3B,kDAAmC;AAEnC,mCAAyE;AAEzE,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE;IAEhC,IAAI,GAAG,GAAiD,IAAI,CAAC;IAC7D,IAAI,UAAU,GAAuB,IAAI,CAAC;IAE1C,MAAM,QAAQ,GAAG,mBAAmB,CAAA;IAEpC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE;QAC/B,KAAK,CAAC,WAAW,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,UAAU,GAAe,KAAK,CAAC;YACrC,IAAI,UAAU,CAAC,QAAQ,EAAE;gBACrB,KAAK,CAAC,kCAAkC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC1E,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE;oBAC7B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAClF;gBACD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC1B,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC5E;gBACD,IAAI;oBACA,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE;wBAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAChF;iBACJ;gBAAC,OAAO,UAAe,EAAE;oBACtB,OAAO,CAAC,GAAG,CAAC,4CAA4C,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC9E;aACJ;iBAAM;gBACH,KAAK,CAAC,kBAAkB,UAAU,GAAG,CAAC,GAAG,CAAC,CAAA;aAC7C;SACJ;IACL,CAAC,CAAA;IAED,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,kBAAkB,EAAE,KAAK;KAC5B,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK,IAAmC,EAAE;QACzD,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,UAAU,CAAC;QAClF,IAAI;YACA,MAAM,OAAO,GAAG;gBACZ,cAAc,EAAE,kBAAkB;aACrC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EAAC;gBACvB,GAAG,EAAE,GAAG;gBACP,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,UAAU;aAC1B,CAAC,CAAC;YAEH,
|
|
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":";;;;;;AAAA,kDAA+B;AAC/B,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;
|
|
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.
|
|
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",
|
package/src/processbase.ts
CHANGED
|
@@ -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
|
|
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 };
|
package/src/processoptions.ts
CHANGED
package/src/serverprocessbase.ts
CHANGED
|
@@ -155,7 +155,7 @@ export class ServerProcessBase extends ProcessBase
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
#SetupWSSServer = async (
|
|
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(
|
|
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 (
|
|
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);
|
package/src/singleprocessbase.ts
CHANGED
|
@@ -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,
|
|
90
|
+
await this.Terminate(false, 'SIGINT');
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
process.on('SIGTERM', async () => {
|
|
94
|
-
await this.Terminate(false,
|
|
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,
|
|
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 = {
|
|
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);
|
package/src/tcpserver/app.ts
CHANGED
|
@@ -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
|
-
|
|
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,
|
package/src/testing/app.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ServiceConfigOptions } from './appConfig
|
|
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
|
|
10
|
+
new WorkerProcess(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
|
|
10
11
|
}
|
package/src/testing/appConfig.ts
CHANGED
|
@@ -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;
|