@nsshunt/stsappframework 3.1.130 → 3.1.131

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 (35) hide show
  1. package/dist/ipcMessageHandler.js +4 -2
  2. package/dist/ipcMessageHandler.js.map +1 -1
  3. package/dist/ipcMessageManager.js +32 -4
  4. package/dist/ipcMessageManager.js.map +1 -1
  5. package/dist/ipcMessageProcessorPrimary.js +2 -1
  6. package/dist/ipcMessageProcessorPrimary.js.map +1 -1
  7. package/dist/ipcMessageProcessorWorker.js +2 -1
  8. package/dist/ipcMessageProcessorWorker.js.map +1 -1
  9. package/dist/redisMessageHandler.js +144 -6
  10. package/dist/redisMessageHandler.js.map +1 -1
  11. package/dist/redisMessageHandler.test.js +4 -2
  12. package/dist/redisMessageHandler.test.js.map +1 -1
  13. package/dist/testing/app.js +191 -37
  14. package/dist/testing/app.js.map +1 -1
  15. package/dist/workerprocessbase.js +107 -0
  16. package/dist/workerprocessbase.js.map +1 -1
  17. package/package.json +1 -1
  18. package/runtest2.sh +1 -1
  19. package/src/ipcMessageHandler.ts +4 -2
  20. package/src/ipcMessageManager.ts +40 -4
  21. package/src/ipcMessageProcessorPrimary.ts +2 -1
  22. package/src/ipcMessageProcessorWorker.ts +2 -1
  23. package/src/redisMessageHandler.test.ts +4 -2
  24. package/src/redisMessageHandler.ts +155 -6
  25. package/src/testing/app.ts +192 -17
  26. package/src/workerprocessbase.ts +123 -2
  27. package/types/ipcMessageHandler.d.ts.map +1 -1
  28. package/types/ipcMessageManager.d.ts +1 -0
  29. package/types/ipcMessageManager.d.ts.map +1 -1
  30. package/types/ipcMessageProcessorPrimary.d.ts.map +1 -1
  31. package/types/ipcMessageProcessorWorker.d.ts.map +1 -1
  32. package/types/redisMessageHandler.d.ts +2 -0
  33. package/types/redisMessageHandler.d.ts.map +1 -1
  34. package/types/workerprocessbase.d.ts +15 -0
  35. package/types/workerprocessbase.d.ts.map +1 -1
@@ -12,9 +12,10 @@ const ipcMessageProcessorWorker_1 = require("./../ipcMessageProcessorWorker");
12
12
  const stsutils_1 = require("@nsshunt/stsutils");
13
13
  const ipcMessageProcessorPrimary_1 = require("./../ipcMessageProcessorPrimary");
14
14
  const chalk_1 = __importDefault(require("chalk"));
15
- const uuid_1 = require("uuid");
16
15
  const redisMessageHandler_1 = require("./../redisMessageHandler");
17
16
  const stsconfig_1 = require("@nsshunt/stsconfig");
17
+ const systeminformation_1 = __importDefault(require("systeminformation")); // https://systeminformation.io/
18
+ const network_1 = require("./../network");
18
19
  const sleepVal = 0;
19
20
  const maxLoop = 100;
20
21
  const zzz = async () => {
@@ -155,11 +156,85 @@ const StartTestWorker = () => {
155
156
  }
156
157
  }, 1000);
157
158
  };
158
- const iterations = 100;
159
+ const iterations = 0;
159
160
  const delay = 100;
161
+ const GetNumCPUs = async () => {
162
+ // https://systeminformation.io/
163
+ const valueObject = {
164
+ cpu: '*'
165
+ };
166
+ const sysinfo = await systeminformation_1.default.get(valueObject);
167
+ let numCPUs = 2;
168
+ if (stsconfig_1.goptions.useCPUs > 0) {
169
+ if (stsconfig_1.goptions.useCPUs >= 1) {
170
+ numCPUs = stsconfig_1.goptions.useCPUs;
171
+ }
172
+ else {
173
+ numCPUs = Math.round(sysinfo.cpu.cores * stsconfig_1.goptions.useCPUs);
174
+ }
175
+ }
176
+ else {
177
+ numCPUs = sysinfo.cpu.physicalCores;
178
+ }
179
+ return numCPUs;
180
+ };
181
+ const LogInfoMessage = (message) => {
182
+ console.log(message);
183
+ };
184
+ const LogSystemTelemetry = async () => {
185
+ // https://systeminformation.io/
186
+ const valueObject = {
187
+ system: '*',
188
+ osInfo: '*',
189
+ cpu: '*',
190
+ mem: '*',
191
+ dockerInfo: '*',
192
+ //dockerImages: '*',
193
+ dockerContainers: '*',
194
+ };
195
+ const sysinfo = await systeminformation_1.default.get(valueObject);
196
+ const numCPUs = await GetNumCPUs();
197
+ const hostname = sysinfo.osInfo.hostname;
198
+ const hostaddr = (0, network_1.GetFirstNetworkInterface)();
199
+ if (hostaddr !== null) {
200
+ LogInfoMessage(`Host Address: ${hostaddr}`);
201
+ }
202
+ else {
203
+ LogInfoMessage(`Unknown Host Address.`);
204
+ }
205
+ LogInfoMessage(`Server starting with ${numCPUs} Cores/Threads`);
206
+ LogInfoMessage(`Hostname: ${hostname}`);
207
+ LogInfoMessage(`System: ${JSON.stringify(sysinfo.system)}`);
208
+ LogInfoMessage(`OS Info: ${JSON.stringify(sysinfo.osInfo)}`);
209
+ LogInfoMessage(`CPU: ${JSON.stringify(sysinfo.cpu)}`);
210
+ LogInfoMessage(`Memory: ${JSON.stringify(sysinfo.mem)}`);
211
+ const promArray = [];
212
+ sysinfo.dockerContainers.forEach((dc) => {
213
+ LogInfoMessage(dc.id);
214
+ const dcs = promArray.push(systeminformation_1.default.dockerContainerStats(dc.id));
215
+ console.log(dcs);
216
+ });
217
+ const dockerContainerStats = await Promise.all(promArray);
218
+ const sysInfo = {
219
+ hostname,
220
+ numCPUs,
221
+ hostaddr,
222
+ system: sysinfo.system,
223
+ osInfo: sysinfo.osInfo,
224
+ cpu: sysinfo.cpu,
225
+ mem: sysinfo.mem,
226
+ dockerInfo: sysinfo.dockerInfo,
227
+ //dockerImages: sysinfo.dockerImages,
228
+ dockerContainers: sysinfo.dockerContainers,
229
+ dockerContainerStats
230
+ };
231
+ console.log(sysInfo);
232
+ console.log(JSON.stringify(sysInfo));
233
+ };
160
234
  if (node_cluster_1.default.isPrimary) {
161
235
  new __1.MasterProcessBase((0, appConfig_1.ServiceConfigOptions)(true, node_cluster_1.default.isPrimary)).SetupServer();
162
236
  //StartTestPrimary();
237
+ LogSystemTelemetry();
163
238
  setTimeout(() => {
164
239
  const p = {};
165
240
  /*
@@ -181,43 +256,123 @@ if (node_cluster_1.default.isPrimary) {
181
256
  p[worker.id] = p1;
182
257
  }
183
258
  */
259
+ /*
260
+ const stsServiceControl: RedisMessageHandler = new RedisMessageHandler({
261
+ logger: defaultLogger,
262
+ role: 'SERVER',
263
+ redisUrl: goptions.imRedisMessageProcessorUrl,
264
+ namespace: 'stsServiceControl',
265
+ groups: [ ]
266
+ });
267
+ stsServiceControl.Start();
268
+
269
+ stsServiceControl.on('ping_ex', (pingData: JSONObject, callback: any) => {
270
+ console.log(chalk.yellow(`${process.pid}: stsServiceControl.on(ping): [${JSON.stringify(pingData)}]`));
271
+ callback({pingData, dateTime: new Date().getTime()})
272
+ });
273
+
274
+ setInterval(() => {
275
+ stsServiceControl.emit('GET_SYSTEM_TELEMETRY', { }, (response: any) => {
276
+ console.log(chalk.green(` ==>> ${process.pid}: Response(GET_SYSTEM_TELEMETRY): [${JSON.stringify(response)}]`));
277
+ });
278
+ }, 5000);
279
+ */
184
280
  const r1 = new redisMessageHandler_1.RedisMessageHandler({
185
281
  logger: stsutils_1.defaultLogger,
186
282
  role: 'SERVER',
187
283
  redisUrl: stsconfig_1.goptions.imRedisMessageProcessorUrl,
284
+ namespace: 'mytestapp',
285
+ groups: []
286
+ });
287
+ r1.Start();
288
+ let i = 0;
289
+ let group = '';
290
+ const xxx = () => {
291
+ setTimeout(() => {
292
+ i++;
293
+ if (i % 2 === 0) {
294
+ group = 'even';
295
+ }
296
+ else {
297
+ group = 'odd';
298
+ }
299
+ const emitobj = { group, i: i, a: 'a', b: 'b' };
300
+ r1.emit('fromprimaryredis', emitobj, (response) => {
301
+ console.log(chalk_1.default.cyan(`${process.pid}: Response(fromprimaryredis): [${JSON.stringify(response)}]`));
302
+ });
303
+ /*
304
+ const globalemitobj = { i: i, a: 'a', b: 'b' };
305
+ r1.emit('globalmessage', globalemitobj, (response: any) => {
306
+ console.log(chalk.cyan(`${process.pid}: Response(globalmessage): [${JSON.stringify(response)}]`));
307
+ });
308
+ */
309
+ //xxx();
310
+ }, 2000);
311
+ };
312
+ xxx();
313
+ /*
314
+ const r1: RedisMessageHandler = new RedisMessageHandler({
315
+ logger: defaultLogger,
316
+ role: 'SERVER',
317
+ redisUrl: goptions.imRedisMessageProcessorUrl,
188
318
  namespace: 'mytestapp'
189
319
  });
190
320
  r1.Start();
191
- r1.on('fromworkerredis', (arg1, arg2, arg3, callback) => {
192
- console.log(chalk_1.default.magenta(`${process.pid}: fromworkerredis.ON: [${arg1} ${arg2} ${arg3}]`));
321
+
322
+ r1.on('fromworkerredis', (arg1: string, arg2: number, arg3: string, callback: any) => {
323
+ console.log(chalk.magenta(`${process.pid}: fromworkerredis.ON: [${arg1} ${arg2} ${arg3}]`));
193
324
  //callback(null);
194
- callback({ status: `response message from event = fromworkerredis with args ${arg1} ${arg2} ${arg3}` });
325
+ callback({status: `response message from event = fromworkerredis with args ${arg1} ${arg2} ${arg3}`})
195
326
  });
327
+
328
+
196
329
  setTimeout(async () => {
197
- for (let i = 0; i < iterations; i++) {
198
- /*
199
- Object.keys(p).forEach(async (pKey) => {
200
- const emitobj = { i: i, a: 'a', b: 'b', worker: pKey };
201
- console.log(chalk.green(`${process.pid}: emit event to worker: [${pKey}] fromprimary: [${JSON.stringify(emitobj)}`));
202
- p[pKey].emit('fromprimary', emitobj, (response: any) => {
203
- console.log(chalk.green(`${process.pid}: ${JSON.stringify(response)}`));
204
- });
205
- });
206
- */
330
+ for (let i=0; i < iterations; i++) {
331
+
207
332
  const emitobj = { i: i, a: 'a', b: 'b' };
208
- console.log(chalk_1.default.cyan(`${process.pid}: emit event fromprimaryredis fromprimary: [${JSON.stringify(emitobj)}`));
209
- r1.emit('fromprimaryredis', emitobj, (response) => {
210
- console.log(chalk_1.default.cyan(`${process.pid}: Response(fromprimaryredis): [${JSON.stringify(response)}]`));
333
+ console.log(chalk.cyan(`${process.pid}: emit event fromprimaryredis fromprimary: [${JSON.stringify(emitobj)}`));
334
+ r1.emit('fromprimaryredis', emitobj, (response: any) => {
335
+ console.log(chalk.cyan(`${process.pid}: Response(fromprimaryredis): [${JSON.stringify(response)}]`));
211
336
  });
212
- await (0, stsutils_1.Sleep)(delay);
337
+
338
+ await Sleep(delay);
213
339
  }
340
+
214
341
  }, 1000);
342
+ */
215
343
  }, 1000);
216
344
  }
217
345
  else {
218
346
  new appWorkerWSS_1.WorkerProcess((0, appConfig_1.ServiceConfigOptions)(true, node_cluster_1.default.isPrimary)).SetupServer();
219
347
  //StartTestWorker();
220
348
  setTimeout(async () => {
349
+ let group = '';
350
+ if (process.pid % 2 === 0) {
351
+ group = 'even';
352
+ }
353
+ else {
354
+ group = 'odd';
355
+ }
356
+ const r1 = new redisMessageHandler_1.RedisMessageHandler({
357
+ logger: stsutils_1.defaultLogger,
358
+ role: 'CLIENT',
359
+ redisUrl: stsconfig_1.goptions.imRedisMessageProcessorUrl,
360
+ namespace: 'mytestapp',
361
+ groups: [group]
362
+ });
363
+ r1.Start();
364
+ r1.on('fromprimaryredis', (arg1, callback) => {
365
+ console.log(chalk_1.default.greenBright(` -->> ${process.pid}: fromprimaryredis.ON: [${JSON.stringify(arg1)}]`));
366
+ callback({
367
+ status: `PID: [${process.pid}]: response message from event = fromprimaryredis with args ${JSON.stringify(arg1)}`
368
+ });
369
+ });
370
+ r1.on('globalmessage', (arg1, callback) => {
371
+ console.log(chalk_1.default.greenBright(` -->> ${process.pid}: globalmessage.ON: [${JSON.stringify(arg1)}]`));
372
+ callback({
373
+ status: `PID: [${process.pid}]: response message from event = globalmessage with args ${JSON.stringify(arg1)}`
374
+ });
375
+ });
221
376
  /*
222
377
  const w1: IPCMessageHandler = new IPCMessageHandler({
223
378
  logger: defaultLogger,
@@ -231,34 +386,33 @@ else {
231
386
  callback({status: `response message from event = fromprimary with args ${JSON.stringify(arg1)}`})
232
387
  });
233
388
  */
234
- const r1 = new redisMessageHandler_1.RedisMessageHandler({
235
- logger: stsutils_1.defaultLogger,
389
+ /*
390
+ const r1: RedisMessageHandler = new RedisMessageHandler({
391
+ logger: defaultLogger,
236
392
  role: 'CLIENT',
237
- redisUrl: stsconfig_1.goptions.imRedisMessageProcessorUrl,
393
+ redisUrl: goptions.imRedisMessageProcessorUrl,
238
394
  namespace: 'mytestapp'
239
395
  });
240
396
  r1.Start();
241
- r1.on('fromprimaryredis', (arg1, callback) => {
397
+
398
+ r1.on('fromprimaryredis', (arg1: JSONObject, callback: any) => {
242
399
  //callback();
243
- console.log(chalk_1.default.yellow(`${process.pid}: fromprimaryredis.ON: [${JSON.stringify(arg1)}]`));
244
- callback({ status: `PID: [${process.pid}]: response message from event = fromprimaryredis with args ${JSON.stringify(arg1)}` });
400
+ console.log(chalk.yellow(`${process.pid}: fromprimaryredis.ON: [${JSON.stringify(arg1)}]`));
401
+ callback({status: `PID: [${process.pid}]: response message from event = fromprimaryredis with args ${JSON.stringify(arg1)}`})
245
402
  });
403
+
246
404
  setTimeout(async () => {
247
- for (let i = 0; i < iterations; i++) {
248
- const id = (0, uuid_1.v4)();
249
- /*
250
- console.log(chalk.yellow(`${process.pid}: emit event fromworker: [${id} ${i} Hello]`));
251
- w1.emit('fromworker', id, i, 'Hello', (response: any) => {
252
- console.log(chalk.yellow(`${process.pid}: ${JSON.stringify(response)}`));
253
- });
254
- */
255
- console.log(chalk_1.default.green(`${process.pid}: emit event fromworkerredis: [${id} ${i} Hello]`));
256
- r1.emit('fromworkerredis', id, i, 'Hello', (response) => {
257
- console.log(chalk_1.default.green(`${process.pid}: Response(fromworkerredis): [${JSON.stringify(response)}]`));
405
+ for (let i=0; i < iterations; i++) {
406
+ const id = uuidv4();
407
+
408
+ console.log(chalk.green(`${process.pid}: emit event fromworkerredis: [${id} ${i} Hello]`));
409
+ r1.emit('fromworkerredis', id, i, 'Hello', (response: any) => {
410
+ console.log(chalk.green(`${process.pid}: Response(fromworkerredis): [${JSON.stringify(response)}]`));
258
411
  });
259
- await (0, stsutils_1.Sleep)(delay);
412
+ await Sleep(delay);
260
413
  }
261
414
  }, 1000);
415
+ */
262
416
  }, 1000);
263
417
  }
264
418
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/testing/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/testing/app.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ const server_1 = require("./server");
12
12
  const serverprocessbase_1 = require("./serverprocessbase");
13
13
  const uuid_1 = require("uuid");
14
14
  const stsTransportLoggerWinston_1 = require("./stsTransportLoggerWinston");
15
+ const stsconfig_1 = require("@nsshunt/stsconfig");
16
+ const systeminformation_1 = __importDefault(require("systeminformation")); // https://systeminformation.io/
17
+ const network_1 = require("./network");
15
18
  /**
16
19
  * todo
17
20
  * @typedef {Object} options - todo
@@ -20,6 +23,10 @@ const stsTransportLoggerWinston_1 = require("./stsTransportLoggerWinston");
20
23
  class WorkerProcessBase extends serverprocessbase_1.ServerProcessBase {
21
24
  #inFlightMessage = {};
22
25
  #requestResponseMessageTimeout = 2000; //@@ config
26
+ #redisMessageHandler = null;
27
+ #redisMessageHandlerPing = 1000;
28
+ #pingTimeout = null;
29
+ #instanceId = (0, uuid_1.v4)();
23
30
  constructor(options) {
24
31
  super(options);
25
32
  }
@@ -116,6 +123,62 @@ class WorkerProcessBase extends serverprocessbase_1.ServerProcessBase {
116
123
  this.SetupServerEx();
117
124
  }, 100);
118
125
  };
126
+ GetNumCPUs = async () => {
127
+ // https://systeminformation.io/
128
+ const valueObject = {
129
+ cpu: '*'
130
+ };
131
+ const sysinfo = await systeminformation_1.default.get(valueObject);
132
+ let numCPUs = 2;
133
+ if (stsconfig_1.goptions.useCPUs > 0) {
134
+ if (stsconfig_1.goptions.useCPUs >= 1) {
135
+ numCPUs = stsconfig_1.goptions.useCPUs;
136
+ }
137
+ else {
138
+ numCPUs = Math.round(sysinfo.cpu.cores * stsconfig_1.goptions.useCPUs);
139
+ }
140
+ }
141
+ else {
142
+ numCPUs = sysinfo.cpu.physicalCores;
143
+ }
144
+ return numCPUs;
145
+ };
146
+ GetSystemTelemetry = async () => {
147
+ // https://systeminformation.io/
148
+ const valueObject = {
149
+ system: '*',
150
+ osInfo: '*',
151
+ cpu: '*',
152
+ mem: '*',
153
+ dockerInfo: '*',
154
+ //dockerImages: '*',
155
+ dockerContainers: '*',
156
+ };
157
+ const sysinfo = await systeminformation_1.default.get(valueObject);
158
+ const numCPUs = await this.GetNumCPUs();
159
+ const hostname = sysinfo.osInfo.hostname;
160
+ const hostaddr = (0, network_1.GetFirstNetworkInterface)();
161
+ const promArray = [];
162
+ sysinfo.dockerContainers.forEach((dc) => {
163
+ const dcs = promArray.push(systeminformation_1.default.dockerContainerStats(dc.id));
164
+ console.log(dcs);
165
+ });
166
+ const dockerContainerStats = await Promise.all(promArray);
167
+ const sysInfo = {
168
+ instanceId: this.#instanceId,
169
+ hostname,
170
+ numCPUs,
171
+ hostaddr,
172
+ system: sysinfo.system,
173
+ osInfo: sysinfo.osInfo,
174
+ cpu: sysinfo.cpu,
175
+ mem: sysinfo.mem,
176
+ dockerInfo: sysinfo.dockerInfo,
177
+ dockerContainers: sysinfo.dockerContainers,
178
+ dockerContainerStats
179
+ };
180
+ return sysInfo;
181
+ };
119
182
  SetupServerEx = async () => {
120
183
  this.ProcessStartup();
121
184
  if (this.options.expressServerRouteFactory || this.options.expressServerRouteStaticFactory) {
@@ -172,9 +235,53 @@ class WorkerProcessBase extends serverprocessbase_1.ServerProcessBase {
172
235
  await this.Terminate(true, true);
173
236
  });
174
237
  await this.SetupSTSServer();
238
+ /*
239
+ this.#redisMessageHandler = new RedisMessageHandler({
240
+ logger: this.options.logger,
241
+ role: 'CLIENT',
242
+ redisUrl: goptions.imRedisMessageProcessorUrl,
243
+ namespace: 'stsServiceControl',
244
+ groups: [ ]
245
+ });
246
+ this.#redisMessageHandler.Start();
247
+
248
+ const ping = () => {
249
+ this.#pingTimeout = setTimeout(() => {
250
+ const pingData = {
251
+ instanceId: this.#instanceId
252
+ }
253
+ if (this.#redisMessageHandler) {
254
+ this.#redisMessageHandler.emit('ping_ex', pingData, (response: any) => {
255
+ console.log(chalk.cyan(` ==>> ${process.pid}: Response(ping): [${JSON.stringify(response)}]`));
256
+ });
257
+ }
258
+ ping();
259
+ }, this.#redisMessageHandlerPing).unref();
260
+ }
261
+ ping();
262
+ */
263
+ // this.#redisMessageHandler.on('GET_SYSTEM_TELEMETRY', async (getSystemTelemetryCommand: JSONObject, callback: any) => {
264
+ // callback({ instanceId: this.#instanceId, process: process.pid, systemTelemetry: getSystemTelemetryCommand });
265
+ /*
266
+ if (getSystemTelemetryCommand.instanceId.localeCompare(this.#instanceId) === 0) {
267
+ const systemTelemetry = await this.GetSystemTelemetry();
268
+ callback({ systemTelemetry });
269
+ } else {
270
+ callback({ systemTelemetry: null });
271
+ }
272
+ */
273
+ // });
175
274
  this.WorkerStarted();
176
275
  this.LogInfoMessage(chalk_1.default.green(`Worker process:${process.pid} started`));
177
276
  };
277
+ ProcessTerminate() {
278
+ //this.#redisMessageHandler?.off()
279
+ if (this.#pingTimeout) {
280
+ clearTimeout(this.#pingTimeout);
281
+ }
282
+ this.#redisMessageHandler?.Stop();
283
+ return super.ProcessTerminate();
284
+ }
178
285
  }
179
286
  exports.WorkerProcessBase = WorkerProcessBase;
180
287
  //# sourceMappingURL=workerprocessbase.js.map
@@ -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": "3.1.130",
3
+ "version": "3.1.131",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
package/runtest2.sh CHANGED
@@ -6,7 +6,7 @@ STSENVFILE=$STS_PROJ_ROOT/stsglobalresources/.env \
6
6
  REST01_PORT=3003 \
7
7
  REST01_HOST_PORT=3003 \
8
8
  REST01_ENDPOINT="https://stscore.stsmda.org" \
9
- MAX_CPU=4 \
9
+ MAX_CPU=8 \
10
10
  AS_ENDPOINT=https://stscore.stsmda.org \
11
11
  AS_HOST_PORT=3002 \
12
12
  AS_PORT=3002 \
@@ -54,7 +54,8 @@ export class IPCMessageHandler extends TinyEmitter {
54
54
  messageReceiverStop: (options: any) => {
55
55
  const worker = (options.worker as Worker);
56
56
  worker.off('message', (payload) => this.#ipcMessageManager?.ProcessMessage(payload, { worker }));
57
- }
57
+ },
58
+ groups: [ ]
58
59
  }
59
60
  this.#ipcMessageManager = new IPCMessageManager(ipcMessageManagerOptions);
60
61
  }
@@ -79,7 +80,8 @@ export class IPCMessageHandler extends TinyEmitter {
79
80
  },
80
81
  messageReceiverStop: (options: any) => {
81
82
  process.off('message', (payload) => this.#ipcMessageManager?.ProcessMessage(payload, options));
82
- }
83
+ },
84
+ groups: [ ]
83
85
  }
84
86
  this.#ipcMessageManager = new IPCMessageManager(ipcMessageManagerOptions);
85
87
  }
@@ -12,6 +12,7 @@ export interface IPCMessageManagerOptions {
12
12
  requestResponseMessageTimeout: number
13
13
  namespace: string
14
14
  role: 'SERVER' | 'CLIENT'
15
+ groups: string[]
15
16
  messageSender: (payload: IIPCMessageProcessorIPCPayload, options: any) => void
16
17
  ProcessRequestMessage: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>
17
18
  ProcessResponseMessage?: (reesponses: Record<string, IIPCMessageProcessorIPCPayload>, options: any) => Promise<boolean>
@@ -100,28 +101,43 @@ export class IPCMessageManager
100
101
  }
101
102
 
102
103
  #ProcessMessage = async (msg: any, options: any): Promise<void> => {
104
+ //console.log(chalk.grey(`#ProcessMessage`));
103
105
  if (msg.header && msg.header.localeCompare(this.#messageHeader) === 0) {
104
106
  const message = (msg as IIPCMessageProcessorIPCPayload);
105
107
  if (this.#inflightMessages[message.messageId]) {
106
108
  const inFlightMessageRecord: IIPCMessageProcessorWorkerRecord = this.#inflightMessages[message.messageId];
107
109
  inFlightMessageRecord.responses[message.senderId ] = { ...message };
108
110
  let completed = true; // Defaults to true
111
+
112
+ //console.log(chalk.grey(`#ProcessMessage:2`));
113
+
109
114
  if (this.#options.ProcessResponseMessage) {
115
+
116
+ if (msg.requestPayload.__eventName.localeCompare('ping') !== 0) {
117
+ console.log(chalk.grey(`#ProcessMessage:3: [${JSON.stringify(msg.requestPayload)}]`));
118
+ }
119
+
110
120
  completed = await this.#options.ProcessResponseMessage(inFlightMessageRecord.responses, options);
111
121
  if (completed) {
122
+ //console.log(chalk.grey(`#ProcessMessage:3.1`));
112
123
  inFlightMessageRecord.endTime = performance.now();
113
124
  clearTimeout(inFlightMessageRecord.timeout as NodeJS.Timer);
114
125
  inFlightMessageRecord.callBack({
115
126
  responsePayload: Object.values(inFlightMessageRecord.responses).map(r => r.responsePayload)
116
127
  } as any, options) //
117
128
  delete this.#inflightMessages[message.messageId];
129
+
130
+ //console.log(chalk.grey(`this.#inflightMessages.length = ${Object.keys(this.#inflightMessages).length}`));
118
131
  }
119
132
  } else if (completed) {
133
+ //console.log(chalk.grey(`#ProcessMessage:4`));
120
134
  inFlightMessageRecord.endTime = performance.now();
121
135
  clearTimeout(inFlightMessageRecord.timeout as NodeJS.Timer);
122
136
  inFlightMessageRecord.callBack(message, options) // inFlightMessageRecord.responses
123
137
  //@@inFlightMessageRecord.callBack(Object.values(inFlightMessageRecord.responses), options) //
124
138
  delete this.#inflightMessages[message.messageId];
139
+ } else {
140
+ //console.log(chalk.grey(`#ProcessMessage:5`));
125
141
  }
126
142
  } else {
127
143
  //throw new Error(`Could not find Request/Response message with id: [${message.messageId}]`); //@@
@@ -153,10 +169,30 @@ export class IPCMessageManager
153
169
  if ((msg.header as string).includes(checkName)) {
154
170
  const message = (msg as IIPCMessageProcessorIPCPayload);
155
171
  if (msg.messageType.localeCompare('REQUEST') === 0) {
156
- message.responsePayload = await this.#options.ProcessRequestMessage(message, options);
157
- message.senderId = this.#id;
158
- message.messageType = 'RESPONSE';
159
- this.#options.messageSender(message, options);
172
+ let processMessage = true;
173
+ if (message.requestPayload.args.length > 0 && message.requestPayload.args[0].group) {
174
+ const group = message.requestPayload.args[0].group;
175
+ console.log(chalk.green(`${process.pid}:ProcessMessage(): Processor Options Groups: [${this.#options.groups}] request group: [${group}]`));
176
+ processMessage = (this.#options.groups.indexOf(group) === -1) ? false : true;
177
+ if (processMessage === false) {
178
+ console.log(chalk.red(`${process.pid}:ProcessMessage(): Skipping this message: Not in correct group: [${group}]`));
179
+ } else {
180
+ console.log(chalk.yellow(`${process.pid}:ProcessMessage(): Will process this message: [${group}]`));
181
+ }
182
+ }
183
+
184
+ if (processMessage) {
185
+ message.responsePayload = await this.#options.ProcessRequestMessage(message, options);
186
+ message.senderId = this.#id;
187
+ message.messageType = 'RESPONSE';
188
+
189
+ if (message.requestPayload.__eventName.localeCompare('ping') !== 0) {
190
+ console.log(chalk.grey(`${process.pid}:ProcessMessage(): Sending response: [${JSON.stringify(message.responsePayload)}]`));
191
+ }
192
+
193
+ this.#options.messageSender(message, options);
194
+ }
195
+
160
196
  } else {
161
197
  // Received a response (to my request)
162
198
  this.#ProcessMessage(msg, options);
@@ -42,7 +42,8 @@ export class IPCMessageProcessorPrimary
42
42
  messageReceiverStop: (options: any) => {
43
43
  const worker = (options.worker as Worker);
44
44
  worker.off('message', (payload) => this.#ipcMessageManager.ProcessMessage(payload, { worker }));
45
- }
45
+ },
46
+ groups: [ ]
46
47
  }
47
48
  this.#ipcMessageManager = new IPCMessageManager(ipcMessageManagerOptions);
48
49
  }