@nsshunt/stsappframework 3.3.159 → 3.3.160

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,7 @@
1
1
  /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
2
  import fs from "node:fs";
3
3
  import si from "systeminformation"; // https://systeminformation.io/
4
+ import axios from "axios";
4
5
  import cluster from "node:cluster";
5
6
  import chalk from "chalk";
6
7
  import express from "express";
@@ -11,12 +12,11 @@ import { AggregatorRegistry } from "prom-client";
11
12
  import { goptions } from "@nsshunt/stsconfig";
12
13
  import { Gauge, GaugeTypes, } from "@nsshunt/stsobservability";
13
14
  import { ProcessBase } from "./processbase.js";
14
- import { ProcessMetricsToken, STSTransportLoggerWinstonToken, DataManagerToken, LatencyManagerToken, } from "./../commonTypes.js";
15
- import { Sleep, createAgentManager, } from "@nsshunt/stsutils";
15
+ import { ProcessMetricsToken, STSTransportLoggerWinstonToken, DataManagerToken, } from "./../commonTypes.js";
16
+ import { Sleep, STSAxiosConfig, createAgentManager, } from "@nsshunt/stsutils";
16
17
  import http from "node:http";
17
18
  import https from "node:https";
18
19
  import { SysInfo } from "./sysinfo.js";
19
- import { ClusterWorkerManager } from "./clusterworkermanager.js";
20
20
  //@@ refactor todo items
21
21
  //@@ ------------------------------------------------------------
22
22
  //@@ this needs a worker manager to handle add/remove of workers
@@ -35,9 +35,10 @@ export class MasterProcessBase extends ProcessBase {
35
35
  #metricsServer = null;
36
36
  #aggregatorRegistry = null;
37
37
  #checkLatency = null;
38
+ #killWorkers = {};
39
+ #workers = 1; // Start at 1 becuase of main thread
38
40
  #shuttingDown = false;
39
41
  #agentManager;
40
- #clusterWorkerManager;
41
42
  constructor(options) {
42
43
  super(options);
43
44
  this.#agentManager = createAgentManager({
@@ -56,9 +57,6 @@ export class MasterProcessBase extends ProcessBase {
56
57
  return new https.Agent(options);
57
58
  },
58
59
  });
59
- this.ProcessBaseInjector().runInContext(() => {
60
- this.#clusterWorkerManager = new ClusterWorkerManager(this);
61
- });
62
60
  }
63
61
  #LogErrorMessage(message) {
64
62
  this.options.logger.error(message);
@@ -155,11 +153,203 @@ export class MasterProcessBase extends ProcessBase {
155
153
  throw error;
156
154
  }
157
155
  };
156
+ #CheckLatency = async () => {
157
+ const start = process.hrtime();
158
+ await this.#GetLatency();
159
+ this.#LatencyRequestCompleted(start);
160
+ };
161
+ #GetLatency = async () => {
162
+ let retVal = null;
163
+ // We use port rather than hostport becuase this test going outside the service and comes back in as a regular client
164
+ const url = `${this.options.endpoint}:${this.options.port}${this.options.apiRoot}/latency`;
165
+ try {
166
+ retVal = await axios(new STSAxiosConfig(url, "get")
167
+ .withDefaultHeaders()
168
+ .withAgentManager(this.#agentManager).config);
169
+ if (retVal.status !== 200) {
170
+ this.#LogDebugMessage(chalk.magenta(`Error (MasterProcessBase:#GetLatency): Invalid response from server: [${retVal.status}]`));
171
+ return null;
172
+ }
173
+ return retVal.data.detail;
174
+ }
175
+ catch (error) {
176
+ this.#LogDebugMessage(chalk.red(`Error (MasterProcessBase:#GetLatency:catch): [${error}]`));
177
+ this.#LogDebugMessage(chalk.red(` url: [${url}]`));
178
+ if (error.response && error.response.data) {
179
+ this.#LogDebugMessage(chalk.red(` Details: [${JSON.stringify(error.response.data)}]`));
180
+ }
181
+ }
182
+ };
183
+ #LatencyRequestCompleted = (start) => {
184
+ const metrics = this.ProcessBaseInjector().get(ProcessMetricsToken);
185
+ // Update request duration histo data
186
+ let timeInMs = 0;
187
+ const end = process.hrtime(start);
188
+ timeInMs = (end[0] * 1000000000 + end[1]) / 1000000;
189
+ timeInMs = parseFloat(timeInMs.toFixed(4));
190
+ metrics.UpdateInstrument(Gauge.LATENCY_HISTOGRAM_GAUGE, {
191
+ val: timeInMs,
192
+ });
193
+ metrics.UpdateInstrument(Gauge.LATENCY_GAUGE, {
194
+ val: timeInMs,
195
+ });
196
+ };
158
197
  SetupServer = async () => {
159
198
  setTimeout(() => {
160
199
  this.SetupServerEx();
161
200
  }, 100);
162
201
  };
202
+ #_KillWorker = (id, signal, killProcess) => {
203
+ try {
204
+ if (cluster.workers && cluster.workers[id]) {
205
+ const worker = cluster.workers[id];
206
+ if (worker.process) {
207
+ this.LogInfoMessage(chalk.grey(`Sending terminate message `) +
208
+ chalk.yellow(`(initiated by ${signal})`) +
209
+ chalk.grey(` for worker PID: ${worker.process.pid}`));
210
+ const command = killProcess
211
+ ? "TerminateAndKill"
212
+ : "Terminate";
213
+ try {
214
+ worker.send({ command });
215
+ //worker.process.send( { command } );
216
+ }
217
+ catch (error) {
218
+ this.LogInfoMessage(chalk.red(`MasterProcessBase:#_KillWorker() (1): id: [${id}], signal: [${signal}], killProcess: [${killProcess}], error: [${error}]`));
219
+ return false;
220
+ }
221
+ return true;
222
+ }
223
+ else {
224
+ this.LogInfoMessage(chalk.red(`MasterProcessBase:#_KillWorker(): Could not kill worker with id: [${id}]. The process does not exists`));
225
+ return false;
226
+ }
227
+ }
228
+ else {
229
+ this.LogInfoMessage(chalk.red(`MasterProcessBase:#_KillWorker(): Could not kill worker with id: [${id}]. Worker does not exist within workers collection`));
230
+ return false;
231
+ }
232
+ }
233
+ catch (error) {
234
+ this.LogInfoMessage(chalk.red(`MasterProcessBase:#_KillWorker() (2): id: [${id}], signal: [${signal}], killProcess: [${killProcess}], error: [${error}]`));
235
+ return false;
236
+ }
237
+ };
238
+ KillWorker = (id, signal = "SIGTERM", options, killProcess, allowKillAll) => {
239
+ try {
240
+ if (allowKillAll ||
241
+ Object.keys(cluster.workers).length > 1) {
242
+ if (id.localeCompare("0") === 0) {
243
+ const keys = Object.keys(cluster.workers);
244
+ for (let i = keys.length - 1; i > 0; i--) {
245
+ // Kill the last one added (assumed node keeps them in order)
246
+ id = keys[i];
247
+ if (!this.#killWorkers[id]) {
248
+ this.#killWorkers[id] = id;
249
+ // Allow some time for the worker to be terminated before clean-up of the killWorkers array
250
+ setTimeout(() => {
251
+ delete this.#killWorkers[id];
252
+ }, 2000).unref(); //@@
253
+ return this.#_KillWorker(id, signal, killProcess);
254
+ }
255
+ }
256
+ return false;
257
+ }
258
+ else {
259
+ return this.#_KillWorker(id, signal, killProcess);
260
+ }
261
+ }
262
+ else {
263
+ this.LogInfoMessage(chalk.yellow(`MasterProcessBase:KillWorker(): Not allowed to kill the last worker process.`));
264
+ return false;
265
+ }
266
+ }
267
+ catch (error) {
268
+ this.LogInfoMessage(chalk.red(`MasterProcessBase:KillWorker(): id: [${id}], signal: [${signal}], killProcess: [${killProcess}], error: [${error}]`));
269
+ return false;
270
+ }
271
+ };
272
+ KillWorkers = (signal, keepOne) => {
273
+ const logPrefix = `MasterProcessBase:KillWorkers():${process.pid}:`;
274
+ try {
275
+ this.LogInfoMessage(`${logPrefix} Killing Workers.`);
276
+ const keepOneAlive = keepOne ? keepOne : false;
277
+ let skippedFirst = false;
278
+ const sortedIdList = [];
279
+ for (const id in cluster.workers) {
280
+ sortedIdList.push(parseInt(id));
281
+ }
282
+ sortedIdList.sort().forEach((id) => {
283
+ if (keepOneAlive && !skippedFirst) {
284
+ skippedFirst = true;
285
+ }
286
+ else {
287
+ this.KillWorker(id.toString(), signal, null, false, true);
288
+ }
289
+ });
290
+ }
291
+ catch (error) {
292
+ this.LogInfoMessage(chalk.red(`${logPrefix} signal: [${signal}], keepOne: [${keepOne}], error: [${error}]`));
293
+ }
294
+ };
295
+ #UpdateWorkersInstrument = () => {
296
+ const metrics = this.ProcessBaseInjector().get(ProcessMetricsToken);
297
+ setTimeout(() => {
298
+ metrics.UpdateInstrument(Gauge.CORE_COUNT_GAUGE, {
299
+ val: this.#workers,
300
+ });
301
+ }, 2000);
302
+ };
303
+ IncWorkers = () => {
304
+ this.#workers++;
305
+ this.#LogDebugMessage(` Inc Workers. Total thread count: [${this.#workers}]`);
306
+ this.#UpdateWorkersInstrument();
307
+ };
308
+ DecWorkers = () => {
309
+ this.#workers--;
310
+ this.#LogDebugMessage(` Dec Workers. Total thread count: [${this.#workers}]`);
311
+ this.#UpdateWorkersInstrument();
312
+ };
313
+ AddWorker = (options) => {
314
+ const workerId = this.#SpawnWorker(options);
315
+ this.#LogDebugMessage(chalk.yellow(` Spawned worker with id: [${workerId}]`));
316
+ if (options) {
317
+ this.#LogDebugMessage(chalk.yellow(` Options: [${JSON.stringify(options)}]`));
318
+ }
319
+ return workerId;
320
+ };
321
+ #SpawnWorker = (spawnWorkerOptions) => {
322
+ const workerEnv = {};
323
+ const tempOptions = { ...this.options };
324
+ // Remove the assigned loggers (this will need to be re-created in the worker thread)
325
+ delete tempOptions.logger;
326
+ delete tempOptions.publisherLogger;
327
+ workerEnv["STS_GSD_SII"] = JSON.stringify(tempOptions);
328
+ if (spawnWorkerOptions) {
329
+ workerEnv["STS_GSD_OPTIONS"] = JSON.stringify(spawnWorkerOptions);
330
+ }
331
+ const worker = cluster.fork(workerEnv);
332
+ this.IncWorkers();
333
+ worker.on("exit", (code, signal) => {
334
+ this.emit("workerExit", code, signal);
335
+ if (signal) {
336
+ this.LogInfoMessage(`Worker: ${worker.process.pid} was killed by signal: ${signal}`);
337
+ }
338
+ else if (code !== 0) {
339
+ this.LogInfoMessage(`Worker: ${worker.process.pid} exited with error code: ${code}`);
340
+ }
341
+ else {
342
+ this.LogInfoMessage(`Worker: ${worker.process.pid} exited successfully, code: ${code}, signal: ${signal}`);
343
+ }
344
+ });
345
+ worker.on("error", (error) => {
346
+ this.emit("workerError", error);
347
+ const message = chalk.red(`#SpawnWorker():worker.on('error'): Error: [${error}]`);
348
+ this.LogErrorMessage(message);
349
+ });
350
+ this.emit("workerAdded", worker.id);
351
+ return worker.id;
352
+ };
163
353
  MasterStarted() {
164
354
  const transport = this.ProcessBaseInjector().get(STSTransportLoggerWinstonToken);
165
355
  setTimeout(() => {
@@ -193,7 +383,7 @@ export class MasterProcessBase extends ProcessBase {
193
383
  }
194
384
  const numCPUs = await sysInfo.GetNumCPUs();
195
385
  for (let i = 0; i < numCPUs; i++) {
196
- this.#clusterWorkerManager.SpawnWorker();
386
+ this.#SpawnWorker();
197
387
  }
198
388
  this.#InitCluster();
199
389
  cluster.on("listening", (worker, address) => {
@@ -209,21 +399,21 @@ export class MasterProcessBase extends ProcessBase {
209
399
  this.emit("clusterExit", worker, code, signal);
210
400
  if ((code !== null && code === 0) || signal === "SIGINT") {
211
401
  this.LogInfoMessage(chalk.green(`Process ${worker.process.pid} terminated gracefully with code: ${code}, signal: ${signal}`));
212
- this.#clusterWorkerManager.DecWorkers();
402
+ this.DecWorkers();
213
403
  }
214
404
  else if ((code !== null && code === 15) || signal === "SIGTERM") {
215
- this.#clusterWorkerManager.DecWorkers();
405
+ this.DecWorkers();
216
406
  this.LogInfoMessage(chalk.red(`Process ${worker.process.pid} terminated with code: ${code}, signal: ${signal}`));
217
407
  }
218
408
  else {
219
- this.#clusterWorkerManager.DecWorkers();
409
+ this.DecWorkers();
220
410
  this.LogInfoMessage(chalk.red(`worker ${worker.process.pid} died`));
221
411
  this.LogInfoMessage(chalk.red(`code: ${code}`));
222
412
  this.LogInfoMessage(chalk.red(`signal: ${signal}`));
223
413
  this.LogInfoMessage(chalk.red("process terminated in an error state"));
224
414
  if (goptions.respawnOnFail === true) {
225
415
  this.LogInfoMessage(chalk.magenta(`Attemping to respawn worker`));
226
- this.#clusterWorkerManager.SpawnWorker();
416
+ this.#SpawnWorker();
227
417
  }
228
418
  }
229
419
  });
@@ -263,7 +453,7 @@ export class MasterProcessBase extends ProcessBase {
263
453
  this.LogInfoMessage(`${logPrefix} De-Registering service.`);
264
454
  //@@ De-register here ...
265
455
  await TerminateHTTPServer();
266
- this.#clusterWorkerManager.KillWorkers(signal);
456
+ this.KillWorkers(signal);
267
457
  await this.ProcessBaseInjector()
268
458
  .get(DataManagerToken)
269
459
  ?.TerminateDatabase();
@@ -294,14 +484,26 @@ export class MasterProcessBase extends ProcessBase {
294
484
  });
295
485
  if (this.options.useLatency) {
296
486
  this.#checkLatency = setInterval(() => {
297
- this.ProcessBaseInjector()
298
- .get(LatencyManagerToken)
299
- .CheckLatency();
487
+ this.#CheckLatency();
300
488
  }, 1000).unref();
301
489
  }
302
490
  this.#CollectAdditionalTelemetry();
303
491
  this.MasterStarted();
304
492
  this.LogInfoMessage(chalk.green(`Master process:${process.pid} started`));
305
493
  };
494
+ BroadcastDataToWorkers = (command, data) => {
495
+ try {
496
+ for (const id in cluster.workers) {
497
+ try {
498
+ cluster.workers[id].process.send({
499
+ command: command,
500
+ data: data,
501
+ });
502
+ }
503
+ catch (error) { }
504
+ }
505
+ }
506
+ catch (error) { }
507
+ };
306
508
  }
307
509
  //# sourceMappingURL=masterprocessbase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"masterprocessbase.js","sourceRoot":"","sources":["../../src/process/masterprocessbase.ts"],"names":[],"mappings":"AAAA,wFAAwF,CAAC,UAAU;AACnG,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,mBAAmB,CAAC,CAAC,gCAAgC;AAEpE,OAAO,OAA4B,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EACH,KAAK,EACL,UAAU,GAGb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAGH,mBAAmB,EACnB,8BAA8B,EAC9B,gBAAgB,EAChB,mBAAmB,GACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,KAAK,EAEL,kBAAkB,GAErB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,wBAAwB;AACxB,iEAAiE;AACjE,gEAAgE;AAChE,wCAAwC;AACxC,qCAAqC;AACrC,8DAA8D;AAC9D,0EAA0E;AAE1E,MAAM,OAAO,iBACT,SAAQ,WAAW;IAGnB,2DAA2D;IAC3D,sBAAsB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IACxD,qBAAqB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IACtD,cAAc,GAAG;QACb,WAAW,EAAE,aAAa;KAC7B,CAAC;IACF,WAAW,GAAQ,IAAI,CAAC,CAAC,sGAAsG;IAC/H,cAAc,GAAQ,IAAI,CAAC;IAC3B,mBAAmB,GAAQ,IAAI,CAAC;IAChC,aAAa,GAA0B,IAAI,CAAC;IAC5C,aAAa,GAAG,KAAK,CAAC;IACtB,aAAa,CAAgB;IAC7B,qBAAqB,CAAwB;IAE7C,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;YACpC,YAAY,EAAE;gBACV,SAAS,EAAE,KAAK,EAAE,0DAA0D;gBAC5E,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,kBAAkB,EAAE,QAAQ,CAAC,YAAY,EAAE,oDAAoD;aAClG;YACD,gBAAgB,CAAC,OAAO;gBACpB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YACD,iBAAiB,CAAC,OAAO;gBACrB,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,OAAY;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB,CAAC,OAAY;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,2BAA2B,GAAG,GAAS,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEpE,OAAO,CAAC,kBAAkB,CAAC,KAAK,IAAmB,EAAE;YACjD,IAAI,CAAC;gBACD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,EAAE;wBAClD,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW;qBACR,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEO,wBAAwB;QAC7B,OAAO;YACH;gBACI,KAAK,CAAC,qBAAqB;gBAC3B,UAAU,CAAC,gBAAgB;gBAC3B;oBACI,QAAQ,EAAE,QAAQ,CAAC,kCAAkC;oBACrD,UAAU,EAAE,QAAQ,CAAC,yBAAyB;iBACvB;aAC9B;SACJ,CAAC;IACN,CAAC;IAED,YAAY,GAAG,GAAG,EAAE;QAChB,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAc,EAAE,OAAgB,EAAE,EAAE;YACzD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAC9B,OAAO,CAAC,OAA8B,CACzC,EAAE,CAAC;gBACA,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;oBACtB,YAAY,GAAG,KAAK,CAAC;oBACrB,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,uEAAuE;IACvE,yBAAyB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEpD,QAAQ,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC7B,KAAK,aAAa;gBACd,CAAC;oBACG,MAAM,OAAO,GAAG;wBACZ,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;wBACrD,IAAI,EAAE,EAAE,CAAC,YAAY,CACjB,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAC1C;qBACJ,CAAC;oBACF,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAChC,OAAO,EACP,IAAI,CAAC,cAAc,CACtB,CAAC;gBACN,CAAC;gBACD,MAAM;YACV,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,kBAAkB,EAClB,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;YACzB,IAAI,CAAC;gBACD,MAAM,OAAO,GACT,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,CACH,cAAc,EACd,IAAI,CAAC,mBAAmB,CAAC,WAAW,CACvC,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,EAAO,EAAE,CAAC;gBACf,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACL,CAAC,CACJ,CAAC;QAEF,IAAI,CAAC;YACD,2FAA2F;YAC3F,kEAAkE;YAClE,0EAA0E;YAC1E,0EAA0E;YAC1E,IAAI,CAAC,WAAW;iBACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE;gBAC7C,sCAAsC;YAC1C,CAAC,CAAC;iBACD,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,IAAI,CACL,4BAA4B,EAC5B,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,UAAU,EACxE,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CACrC,CAAC;gBACF,IAAI,CAAC,cAAc,CACf,wCAAwC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,UAAU,CAChH,CAAC;YACN,CAAC,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;IAEF,WAAW,GAAG,KAAK,IAAI,EAAE;QACrB,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,aAAa;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAC5C,8BAA8B,CACjC,CAAC;QACF,UAAU,CAAC,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,MAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,IAAa,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,aAAa,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,cAAc,CACf,4CAA4C,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAChF,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE7B,YAAY;QACZ,wCAAwC;QACxC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACvC,IAAI,CAAC,cAAc,CACf,uDAAuD,CAC1D,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,cAAc,CACf,4DAA4D,CAC/D,CAAC;gBACF,YAAY,EAAE,CAAC;YACnB,CAAC;QACL,CAAC;QAED,OAAO,CAAC,YAAY,CAAC;YACjB,aAAa,EAAE,UAAU;SAC5B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,qBAAsB,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,CACf,kBAAkB,MAAM,CAAC,OAAO,CAAC,GAAG,6BAA6B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC7F,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,CACf,kBAAkB,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,CACnD,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvD,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,KAAK,CACP,WAAW,MAAM,CAAC,OAAO,CAAC,GAAG,qCAAqC,IAAI,aAAa,MAAM,EAAE,CAC9F,CACJ,CAAC;gBACF,IAAI,CAAC,qBAAsB,CAAC,UAAU,EAAE,CAAC;YAC7C,CAAC;iBAAM,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChE,IAAI,CAAC,qBAAsB,CAAC,UAAU,EAAE,CAAC;gBACzC,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,GAAG,CACL,WAAW,MAAM,CAAC,OAAO,CAAC,GAAG,0BAA0B,IAAI,aAAa,MAAM,EAAE,CACnF,CACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,qBAAsB,CAAC,UAAU,EAAE,CAAC;gBACzC,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CACjD,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CACpD,CAAC;gBACF,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAClC,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAC/C,CAAC;oBACF,IAAI,CAAC,qBAAsB,CAAC,WAAW,EAAE,CAAC;gBAC9C,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;YAClD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,2CAA2C,OAAO,CAAC,GAAG,GAAG,CAAC;gBAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,SAAS,sBAAsB,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,CAAC;QACL,CAAC,CAAC;QAEF,sBAAsB;QACtB,sCAAsC;QACtC,sBAAsB;QACtB,8BAA8B;QAC9B,iCAAiC;QACjC,YAAY;QACZ,2BAA2B;QAC3B,MAAM,SAAS,GAAG,KAAK,EAAE,MAAW,EAAiB,EAAE;YACnD,MAAM,SAAS,GAAG,iCAAiC,OAAO,CAAC,GAAG,GAAG,CAAC;YAClE,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAE1B,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,CAAC,cAAc,CACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CACxB,GAAG,SAAS,qBAAqB,MAAM,EAAE,CAC5C,CACJ,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,cAAc,CACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CACtB,GAAG,SAAS,qCAAqC,CACpD,CACJ,CAAC;gBACN,CAAC;gBAED,gBAAgB,EAAE,CAAC;gBAEnB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAE9B,IAAI,CAAC,cAAc,CAAC,GAAG,SAAS,0BAA0B,CAAC,CAAC;gBAC5D,yBAAyB;gBAEzB,MAAM,mBAAmB,EAAE,CAAC;gBAE5B,IAAI,CAAC,qBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAEhD,MAAM,IAAI,CAAC,mBAAmB,EAAE;qBAC3B,GAAG,CAAC,gBAAgB,CAAC;oBACtB,EAAE,iBAAiB,EAAE,CAAC;gBAE1B,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAErC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;gBAElB,IAAI,CAAC,WAAW,CACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,CAC3D,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,cAAc,CACf,GAAG,SAAS,+BAA+B,CAC9C,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5B,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,KAAK,CACP,iBAAiB,OAAO,CAAC,GAAG,qCAAqC,IAAI,EAAE,CAC1E,CACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,GAAG,CACL,iBAAiB,OAAO,CAAC,GAAG,0BAA0B,IAAI,EAAE,CAC/D,CACJ,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,mBAAmB,EAAE;qBACrB,GAAG,CAAC,mBAAmB,CAAC;qBACxB,YAAY,EAAE,CAAC;YACxB,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,cAAc,CACf,KAAK,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAC,GAAG,UAAU,CAAC,CACvD,CAAC;IACN,CAAC,CAAC;CACL"}
1
+ {"version":3,"file":"masterprocessbase.js","sourceRoot":"","sources":["../../src/process/masterprocessbase.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.3.159",
3
+ "version": "3.3.160",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -6,8 +6,14 @@ export declare class MasterProcessBase extends ProcessBase implements IMasterPro
6
6
  constructor(options: ProcessOptions);
7
7
  GetAdditionalInstruments(): InstrumentDefinitions;
8
8
  SetupServer: () => Promise<void>;
9
+ KillWorker: (id: string, signal: NodeJS.Signals | undefined, options: any, killProcess: boolean, allowKillAll: boolean) => boolean;
10
+ KillWorkers: (signal: NodeJS.Signals, keepOne?: boolean) => void;
11
+ IncWorkers: () => void;
12
+ DecWorkers: () => void;
13
+ AddWorker: (options: any) => number;
9
14
  MasterStarted(): void;
10
15
  get shuttingDown(): boolean;
11
16
  SetupServerEx: () => Promise<void>;
17
+ BroadcastDataToWorkers: (command: any, data: any) => void;
12
18
  }
13
19
  //# sourceMappingURL=masterprocessbase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"masterprocessbase.d.ts","sourceRoot":"","sources":["../../src/process/masterprocessbase.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACH,kBAAkB,EAClB,cAAc,EAKjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAuB5E,qBAAa,iBACT,SAAQ,WACR,YAAW,kBAAkB;;gBAgBjB,OAAO,EAAE,cAAc;IA+C1B,wBAAwB,IAAI,qBAAqB;IAqG1D,WAAW,sBAIT;IAEF,aAAa,IAAI,IAAI;IASrB,IAAa,YAAY,IAAI,OAAO,CAEnC;IAED,aAAa,sBA2MX;CACL"}
1
+ {"version":3,"file":"masterprocessbase.d.ts","sourceRoot":"","sources":["../../src/process/masterprocessbase.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACH,kBAAkB,EAClB,cAAc,EAIjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AA0B5E,qBAAa,iBACT,SAAQ,WACR,YAAW,kBAAkB;;gBAiBjB,OAAO,EAAE,cAAc;IA2C1B,wBAAwB,IAAI,qBAAqB;IAiK1D,WAAW,sBAIT;IAyDF,UAAU,GACN,IAAI,MAAM,EACV,QAAQ,MAAM,CAAC,OAAO,YAAY,EAClC,SAAS,GAAG,EACZ,aAAa,OAAO,EACpB,cAAc,OAAO,KACtB,OAAO,CA0CR;IAEF,WAAW,GAAI,QAAQ,MAAM,CAAC,OAAO,EAAE,UAAU,OAAO,KAAG,IAAI,CAwB7D;IAYF,UAAU,QAAO,IAAI,CAMnB;IAEF,UAAU,QAAO,IAAI,CAMnB;IAEF,SAAS,GAAI,SAAS,GAAG,KAAG,MAAM,CAWhC;IAiDF,aAAa,IAAI,IAAI;IASrB,IAAa,YAAY,IAAI,OAAO,CAEnC;IAED,aAAa,sBAyMX;IAEF,sBAAsB,GAAI,SAAS,GAAG,EAAE,MAAM,GAAG,UAW/C;CACL"}