@nsshunt/stsappframework 3.1.175 → 3.1.177

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 +7 -0
  2. package/dist/ipcMessageHandler.js.map +1 -1
  3. package/dist/ipcMessageManager.js +1 -1
  4. package/dist/ipcMessageManager.js.map +1 -1
  5. package/dist/ipcMessageProcessorPrimary.js +9 -0
  6. package/dist/ipcMessageProcessorPrimary.js.map +1 -1
  7. package/dist/ipcMessageProcessorWorker.js +12 -1
  8. package/dist/ipcMessageProcessorWorker.js.map +1 -1
  9. package/dist/masterprocessbase.js.map +1 -1
  10. package/dist/testing/app_ipc_legacy.js +84 -0
  11. package/dist/testing/app_ipc_legacy.js.map +1 -0
  12. package/dist/testing/app_ipcex.js +69 -0
  13. package/dist/testing/app_ipcex.js.map +1 -0
  14. package/package.json +1 -1
  15. package/runtest_ipc_legacy.sh +19 -0
  16. package/runtest_ipcex.sh +19 -0
  17. package/runtest_redis.sh +19 -0
  18. package/src/ipcMessageHandler.ts +7 -1
  19. package/src/ipcMessageManager.ts +1 -1
  20. package/src/ipcMessageProcessorPrimary.ts +10 -2
  21. package/src/ipcMessageProcessorWorker.ts +12 -1
  22. package/src/masterprocessbase.ts +1 -2
  23. package/src/testing/app_ipc_legacy.ts +87 -0
  24. package/src/testing/app_ipcex.ts +68 -0
  25. package/types/ipcMessageHandler.d.ts +7 -0
  26. package/types/ipcMessageHandler.d.ts.map +1 -1
  27. package/types/ipcMessageProcessorPrimary.d.ts +9 -0
  28. package/types/ipcMessageProcessorPrimary.d.ts.map +1 -1
  29. package/types/ipcMessageProcessorWorker.d.ts +9 -0
  30. package/types/ipcMessageProcessorWorker.d.ts.map +1 -1
  31. package/types/masterprocessbase.d.ts.map +1 -1
  32. package/types/testing/app_ipc_legacy.d.ts +2 -0
  33. package/types/testing/app_ipc_legacy.d.ts.map +1 -0
  34. package/types/testing/app_ipcex.d.ts +2 -0
  35. package/types/testing/app_ipcex.d.ts.map +1 -0
@@ -9,6 +9,13 @@ const tiny_emitter_1 = require("tiny-emitter");
9
9
  const node_cluster_1 = __importDefault(require("node:cluster"));
10
10
  const stsutils_1 = require("@nsshunt/stsutils");
11
11
  const ipcMessageManager_1 = require("./ipcMessageManager");
12
+ /**
13
+ * IPC Message Handling.
14
+ *
15
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
16
+ * This class can be used for both tghe cluster primary and the cluster worker.
17
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
18
+ */
12
19
  class IPCMessageHandler extends tiny_emitter_1.TinyEmitter {
13
20
  #ipcMessageManager = null;
14
21
  #options;
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMessageHandler.js","sourceRoot":"","sources":["../src/ipcMessageHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipcMessageHandler.js","sourceRoot":"","sources":["../src/ipcMessageHandler.ts"],"names":[],"mappings":"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"}
@@ -123,7 +123,7 @@ class IPCMessageManager {
123
123
  const message = msg;
124
124
  if (msg.messageType.localeCompare('REQUEST') === 0) {
125
125
  let processMessage = true;
126
- if (message.requestPayload.args.length > 0 && message.requestPayload.args[0].group) {
126
+ if (message.requestPayload.args && message.requestPayload.args.length > 0 && message.requestPayload.args[0].group) {
127
127
  const group = message.requestPayload.args[0].group;
128
128
  processMessage = (this.#options.groups.indexOf(group) === -1) ? false : true;
129
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMessageManager.js","sourceRoot":"","sources":["../src/ipcMessageManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipcMessageManager.js","sourceRoot":"","sources":["../src/ipcMessageManager.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,15 @@ exports.IPCMessageProcessorPrimary = void 0;
4
4
  /* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
5
5
  const stsutils_1 = require("@nsshunt/stsutils");
6
6
  const ipcMessageManager_1 = require("./ipcMessageManager");
7
+ /**
8
+ * IPC Message Handling.
9
+ *
10
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
11
+ * This class can be used for finer control for processing messages between the cluster primary and cluster workers.
12
+ * Use the ipcMessageHandler for a simpler implementation.
13
+ * This class is used for the cluster primary thread only.
14
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
15
+ */
7
16
  class IPCMessageProcessorPrimary {
8
17
  #ipcMessageManager;
9
18
  #worker = null;
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMessageProcessorPrimary.js","sourceRoot":"","sources":["../src/ipcMessageProcessorPrimary.ts"],"names":[],"mappings":";;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,gDAAyE;AAMzE,2DAAiF;AAQjF,MAAa,0BAA0B;IAEnC,kBAAkB,CAAoB;IACtC,OAAO,GAAkB,IAAI,CAAC;IAE9B,YAAY,YAAyC;QACjD,MAAM,wBAAwB,GAA6B;YACvD,MAAM,EAAE,wBAAa;YACrB,6BAA6B,EAAE,IAAI;YACnC,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,CAAC,OAAuC,EAAE,OAAY,EAAE,EAAE;gBACpE,OAAO,CAAC,MAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,qBAAqB,EAAE,KAAK,EAAE,OAAuC,EAAE,OAAY,EAAuB,EAAE;gBACxG,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;oBAC9B,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAG,CAAC;gBACf,CAAC;YACL,CAAC;YACD,oBAAoB,EAAE,CAAC,OAAY,EAAE,EAAE;gBACnC,6CAA6C;gBAC7C,MAAM,MAAM,GAAI,OAAO,CAAC,MAAiB,CAAC;gBAC1C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC;YACD,mBAAmB,EAAE,CAAC,OAAY,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAI,OAAO,CAAC,MAAiB,CAAC;gBAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,EAAE,EAAG;SACd,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,qCAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9E,CAAC;IAED,WAAW,GAAG,KAAK,EAAE,OAAmB,EAAuB,EAAE;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC,CAAA;IAED,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QACvB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC,CAAA;IAED,IAAI,GAAG,GAAG,EAAE;QACR,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC,CAAA;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AApDD,gEAoDC"}
1
+ {"version":3,"file":"ipcMessageProcessorPrimary.js","sourceRoot":"","sources":["../src/ipcMessageProcessorPrimary.ts"],"names":[],"mappings":";;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,gDAAyE;AAMzE,2DAAiF;AAQjF;;;;;;;;GAQG;AACH,MAAa,0BAA0B;IACnC,kBAAkB,CAAoB;IACtC,OAAO,GAAkB,IAAI,CAAC;IAE9B,YAAY,YAAyC;QACjD,MAAM,wBAAwB,GAA6B;YACvD,MAAM,EAAE,wBAAa;YACrB,6BAA6B,EAAE,IAAI;YACnC,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,CAAC,OAAuC,EAAE,OAAY,EAAE,EAAE;gBACpE,OAAO,CAAC,MAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,qBAAqB,EAAE,KAAK,EAAE,OAAuC,EAAE,OAAY,EAAuB,EAAE;gBACxG,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;oBAC9B,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAG,CAAC;gBACf,CAAC;YACL,CAAC;YACD,oBAAoB,EAAE,CAAC,OAAY,EAAE,EAAE;gBACnC,6CAA6C;gBAC7C,MAAM,MAAM,GAAI,OAAO,CAAC,MAAiB,CAAC;gBAC1C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC;YACD,mBAAmB,EAAE,CAAC,OAAY,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAI,OAAO,CAAC,MAAiB,CAAC;gBAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,EAAE,EAAG;SACd,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,qCAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9E,CAAC;IAED,WAAW,GAAG,KAAK,EAAE,OAAmB,EAAuB,EAAE;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC,CAAA;IAED,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QACvB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC,CAAA;IAED,IAAI,GAAG,GAAG,EAAE;QACR,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC,CAAA;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AAnDD,gEAmDC"}
@@ -4,6 +4,15 @@ exports.IPCMessageProcessorWorker = void 0;
4
4
  /* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
5
5
  const stsutils_1 = require("@nsshunt/stsutils");
6
6
  const ipcMessageManager_1 = require("./ipcMessageManager");
7
+ /**
8
+ * IPC Message Handling.
9
+ *
10
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
11
+ * This class can be used for finer control for processing messages between the cluster primary and cluster workers.
12
+ * Use the ipcMessageHandler for a simpler implementation.
13
+ * This class is used for the cluster worker threads only.
14
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
15
+ */
7
16
  class IPCMessageProcessorWorker {
8
17
  #ipcMessageManager;
9
18
  constructor(classOptions) {
@@ -27,7 +36,9 @@ class IPCMessageProcessorWorker {
27
36
  },
28
37
  messageReceiverStart: (options) => {
29
38
  // Receive a message response back from the primary thread
30
- process.on('message', (payload) => this.#ipcMessageManager.ProcessMessage(payload, options));
39
+ process.on('message', (payload) => {
40
+ this.#ipcMessageManager.ProcessMessage(payload, options);
41
+ });
31
42
  },
32
43
  messageReceiverStop: (options) => {
33
44
  process.off('message', (payload) => this.#ipcMessageManager.ProcessMessage(payload, options));
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMessageProcessorWorker.js","sourceRoot":"","sources":["../src/ipcMessageProcessorWorker.ts"],"names":[],"mappings":";;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,gDAAyE;AAIzE,2DAAiF;AASjF,MAAa,yBAAyB;IAClC,kBAAkB,CAAoB;IAEtC,YAAY,YAAwC;QAChD,MAAM,wBAAwB,GAA6B;YACvD,MAAM,EAAE,wBAAa;YACrB,6BAA6B,EAAE,YAAY,CAAC,6BAA6B;YACzE,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,IAAI,EAAE,QAAQ;YACd,8DAA8D;YAC9D,aAAa,EAAE,CAAC,OAAuC,EAAE,OAAY,EAAE,EAAE;gBACrE,kEAAkE;gBACjE,OAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YACD,qBAAqB,EAAE,KAAK,EAAE,OAAuC,EAAE,OAAY,EAAuB,EAAE;gBACxG,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;oBAC9B,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAG,CAAC;gBACf,CAAC;YACL,CAAC;YACD,oBAAoB,EAAE,CAAC,OAAY,EAAE,EAAE;gBACnC,0DAA0D;gBAC1D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACjG,CAAC;YACD,mBAAmB,EAAE,CAAC,OAAY,EAAE,EAAE;gBAClC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,EAAE,EAAG;SACd,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,qCAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9E,CAAC;IAED,WAAW,GAAG,KAAK,EAAE,OAAmB,EAAuB,EAAE;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,EAAG,CAAC,CAAC;IAC7D,CAAC,CAAA;IAED,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,IAAI,GAAG,GAAG,EAAE;QACR,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;IACtC,CAAC,CAAA;CACJ;AA5CD,8DA4CC"}
1
+ {"version":3,"file":"ipcMessageProcessorWorker.js","sourceRoot":"","sources":["../src/ipcMessageProcessorWorker.ts"],"names":[],"mappings":";;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,gDAAyE;AAIzE,2DAAiF;AASjF;;;;;;;;GAQG;AACH,MAAa,yBAAyB;IAClC,kBAAkB,CAAoB;IAEtC,YAAY,YAAwC;QAChD,MAAM,wBAAwB,GAA6B;YACvD,MAAM,EAAE,wBAAa;YACrB,6BAA6B,EAAE,YAAY,CAAC,6BAA6B;YACzE,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,IAAI,EAAE,QAAQ;YACd,8DAA8D;YAC9D,aAAa,EAAE,CAAC,OAAuC,EAAE,OAAY,EAAE,EAAE;gBACrE,kEAAkE;gBACjE,OAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YACD,qBAAqB,EAAE,KAAK,EAAE,OAAuC,EAAE,OAAY,EAAuB,EAAE;gBACxG,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;oBAC9B,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAG,CAAC;gBACf,CAAC;YACL,CAAC;YACD,oBAAoB,EAAE,CAAC,OAAY,EAAE,EAAE;gBACnC,0DAA0D;gBAC1D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;oBAC9B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACP,CAAC;YACD,mBAAmB,EAAE,CAAC,OAAY,EAAE,EAAE;gBAClC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,EAAE,EAAG;SACd,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,qCAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9E,CAAC;IAED,WAAW,GAAG,KAAK,EAAE,OAAmB,EAAuB,EAAE;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,EAAG,CAAC,CAAC;IAC7D,CAAC,CAAA;IAED,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,IAAI,GAAG,GAAG,EAAE;QACR,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;IACtC,CAAC,CAAA;CACJ;AA9CD,8DA8CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"masterprocessbase.js","sourceRoot":"","sources":["../src/masterprocessbase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"masterprocessbase.js","sourceRoot":"","sources":["../src/masterprocessbase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
7
+ const appConfig_1 = require("./appConfig");
8
+ const __1 = require("./..");
9
+ const appWorkerWSS_1 = require("./appWorkerWSS");
10
+ const node_cluster_1 = __importDefault(require("node:cluster"));
11
+ const ipcMessageProcessorWorker_1 = require("./../ipcMessageProcessorWorker");
12
+ const stsutils_1 = require("@nsshunt/stsutils");
13
+ const ipcMessageProcessorPrimary_1 = require("./../ipcMessageProcessorPrimary");
14
+ const chalk_1 = __importDefault(require("chalk"));
15
+ const iterations = 2000;
16
+ const StartTestPrimary = () => {
17
+ setTimeout(async () => {
18
+ for (const id in node_cluster_1.default.workers) {
19
+ const p1 = new ipcMessageProcessorPrimary_1.IPCMessageProcessorPrimary({
20
+ logger: stsutils_1.defaultLogger,
21
+ namespace: 'test1',
22
+ processPayload: async (payload) => {
23
+ console.log(chalk_1.default.grey(`Inside Primary ==> [${process.pid}] Received message from worker: [${JSON.stringify(payload.requestPayload)}]`));
24
+ return {
25
+ msg: `From PRIMARY: [${process.pid}]`,
26
+ yousent: payload.requestPayload,
27
+ hello1: `world1`,
28
+ pid: process.pid
29
+ };
30
+ }
31
+ });
32
+ p1.Start(node_cluster_1.default.workers[id]);
33
+ setTimeout(async () => {
34
+ for (let i = 0; i < iterations; i++) {
35
+ const sendMessage = {
36
+ from1: `From PRIMARY: [${process.pid}]`,
37
+ loop1: `${i}`,
38
+ };
39
+ console.log(chalk_1.default.yellow(`Inside Primary ==> [${process.pid}] Sending message to worker: [${JSON.stringify(sendMessage)}]`));
40
+ const retVal1 = await p1.SendMessage(sendMessage);
41
+ console.log(chalk_1.default.yellow(` Inside Primary ==> [${process.pid}] Response from worker: [${JSON.stringify(retVal1)}]`));
42
+ }
43
+ }, 1000);
44
+ }
45
+ }, 2000);
46
+ };
47
+ const StartTestWorker = () => {
48
+ setTimeout(() => {
49
+ const w1 = new ipcMessageProcessorWorker_1.IPCMessageProcessorWorker({
50
+ logger: stsutils_1.defaultLogger,
51
+ namespace: 'test1',
52
+ requestResponseMessageTimeout: 5000,
53
+ processPayload: async (payload) => {
54
+ console.log(chalk_1.default.cyan(`Inside Worker ==> [${process.pid}] Received message from primary: [${JSON.stringify(payload.requestPayload)}]`));
55
+ return {
56
+ msg1: `From WORKER: [${process.pid}]`,
57
+ yousent1: payload.requestPayload,
58
+ pid1: process.pid
59
+ };
60
+ }
61
+ });
62
+ w1.Start();
63
+ setTimeout(async () => {
64
+ for (let i = 0; i < iterations; i++) {
65
+ const sendMessage = {
66
+ message: `From WORKER ${process.pid}`,
67
+ loop1: `${i}`,
68
+ };
69
+ console.log(chalk_1.default.blue(`Inside Worker ==> [${process.pid}] Sending message to primary: [${JSON.stringify(sendMessage)}]`));
70
+ const retVal1 = await w1.SendMessage(sendMessage);
71
+ console.log(chalk_1.default.blue(` Inside Worker ==> [${process.pid}] Response from primary: [${JSON.stringify(retVal1)}]`));
72
+ }
73
+ }, 1000);
74
+ }, 2000);
75
+ };
76
+ if (node_cluster_1.default.isPrimary) {
77
+ new __1.MasterProcessBase((0, appConfig_1.ServiceConfigOptions)(true, node_cluster_1.default.isPrimary)).SetupServer();
78
+ StartTestPrimary();
79
+ }
80
+ else {
81
+ new appWorkerWSS_1.WorkerProcess((0, appConfig_1.ServiceConfigOptions)(true, node_cluster_1.default.isPrimary)).SetupServer();
82
+ StartTestWorker();
83
+ }
84
+ //# sourceMappingURL=app_ipc_legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app_ipc_legacy.js","sourceRoot":"","sources":["../../src/testing/app_ipc_legacy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
7
+ const appConfig_1 = require("./appConfig");
8
+ const masterprocessbase_1 = require("./../masterprocessbase");
9
+ const appWorkerWSS_1 = require("./appWorkerWSS");
10
+ const node_cluster_1 = __importDefault(require("node:cluster"));
11
+ const stsutils_1 = require("@nsshunt/stsutils");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const ipcMessageHandler_1 = require("./../ipcMessageHandler");
14
+ const iterations = 2000;
15
+ if (node_cluster_1.default.isPrimary) {
16
+ new masterprocessbase_1.MasterProcessBase((0, appConfig_1.ServiceConfigOptions)(true, node_cluster_1.default.isPrimary)).SetupServer();
17
+ setTimeout(() => {
18
+ const p = {};
19
+ for (const id in node_cluster_1.default.workers) {
20
+ const worker = node_cluster_1.default.workers[id];
21
+ const p1 = new ipcMessageHandler_1.IPCMessageHandler({
22
+ logger: stsutils_1.defaultLogger,
23
+ requestResponseMessageTimeout: 5000,
24
+ namespace: 'aabbcc'
25
+ });
26
+ p1.Start(worker);
27
+ p1.on('fromworker', (args, pid, iterations, cb) => {
28
+ console.log(chalk_1.default.green(`inside primary: ${process.pid}: fromworker event handler: [${args},${pid},${iterations}]`));
29
+ cb(`response from primary - ${pid} ${iterations}`);
30
+ });
31
+ p[worker.id] = p1;
32
+ }
33
+ setTimeout(() => {
34
+ for (let i = 0; i < iterations; i++) {
35
+ for (const [workerId, mh] of Object.entries(p)) {
36
+ mh.emit('fromprimary', { hello: "World", id: workerId, iterations: i }, (params) => {
37
+ console.log(chalk_1.default.cyan(`inside primary: ${process.pid}: fromprimary emit response: [${JSON.stringify(params)}]`));
38
+ });
39
+ }
40
+ }
41
+ }, 1000);
42
+ }, 2000);
43
+ }
44
+ else {
45
+ new appWorkerWSS_1.WorkerProcess((0, appConfig_1.ServiceConfigOptions)(true, node_cluster_1.default.isPrimary)).SetupServer();
46
+ setTimeout(async () => {
47
+ const w1 = new ipcMessageHandler_1.IPCMessageHandler({
48
+ logger: stsutils_1.defaultLogger,
49
+ requestResponseMessageTimeout: 5000,
50
+ namespace: 'aabbcc'
51
+ });
52
+ w1.Start();
53
+ w1.on('fromprimary', (args, cb) => {
54
+ console.log(chalk_1.default.yellow(`inside worker: ${process.pid}: fromprimary event handler: [${JSON.stringify(args)}]`));
55
+ cb({
56
+ txt: 'response fromprimary',
57
+ args
58
+ });
59
+ });
60
+ setTimeout(() => {
61
+ for (let i = 0; i < iterations; i++) {
62
+ w1.emit('fromworker', "hello", process.pid, i, (args) => {
63
+ console.log(chalk_1.default.grey(`inside worker: ${process.pid}: fromworker emit response: [${args}]`));
64
+ });
65
+ }
66
+ }, 1000);
67
+ }, 2000);
68
+ }
69
+ //# sourceMappingURL=app_ipcex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app_ipcex.js","sourceRoot":"","sources":["../../src/testing/app_ipcex.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.175",
3
+ "version": "3.1.177",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+ # openssl req -nodes -new -x509 -keyout server.key -out server.cert
3
+ clear; \
4
+ export STS_PROJ_ROOT=./..; \
5
+ STSENVFILE=$STS_PROJ_ROOT/stsglobalresources/.env \
6
+ REST01_PORT=3003 \
7
+ REST01_HOST_PORT=3003 \
8
+ REST01_ENDPOINT="https://stscore.stsmda.org" \
9
+ MAX_CPU=4 \
10
+ AS_ENDPOINT=https://stscore.stsmda.org \
11
+ AS_HOST_PORT=3002 \
12
+ AS_PORT=3002 \
13
+ DB_HOST=localhost:5432 \
14
+ DB_PASSWORD=postgres \
15
+ HTTPS_SERVER_KEY_PATH=/etc/letsencrypt/live/stsmda.org/privkey.pem \
16
+ HTTPS_SERVER_CERT_PATH=/etc/letsencrypt/live/stsmda.org/fullchain.pem \
17
+ DEBUG=proc* \
18
+ UV_THREADPOOL_SIZE=64 \
19
+ node dist/testing/app_ipc_legacy
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+ # openssl req -nodes -new -x509 -keyout server.key -out server.cert
3
+ clear; \
4
+ export STS_PROJ_ROOT=./..; \
5
+ STSENVFILE=$STS_PROJ_ROOT/stsglobalresources/.env \
6
+ REST01_PORT=3003 \
7
+ REST01_HOST_PORT=3003 \
8
+ REST01_ENDPOINT="https://stscore.stsmda.org" \
9
+ MAX_CPU=4 \
10
+ AS_ENDPOINT=https://stscore.stsmda.org \
11
+ AS_HOST_PORT=3002 \
12
+ AS_PORT=3002 \
13
+ DB_HOST=localhost:5432 \
14
+ DB_PASSWORD=postgres \
15
+ HTTPS_SERVER_KEY_PATH=/etc/letsencrypt/live/stsmda.org/privkey.pem \
16
+ HTTPS_SERVER_CERT_PATH=/etc/letsencrypt/live/stsmda.org/fullchain.pem \
17
+ DEBUG=proc* \
18
+ UV_THREADPOOL_SIZE=64 \
19
+ node dist/testing/app_ipcex
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+ # openssl req -nodes -new -x509 -keyout server.key -out server.cert
3
+ clear; \
4
+ export STS_PROJ_ROOT=./..; \
5
+ STSENVFILE=$STS_PROJ_ROOT/stsglobalresources/.env \
6
+ REST01_PORT=3003 \
7
+ REST01_HOST_PORT=3003 \
8
+ REST01_ENDPOINT="https://stscore.stsmda.org" \
9
+ MAX_CPU=4 \
10
+ AS_ENDPOINT=https://stscore.stsmda.org \
11
+ AS_HOST_PORT=3002 \
12
+ AS_PORT=3002 \
13
+ DB_HOST=localhost:5432 \
14
+ DB_PASSWORD=postgres \
15
+ HTTPS_SERVER_KEY_PATH=/etc/letsencrypt/live/stsmda.org/privkey.pem \
16
+ HTTPS_SERVER_CERT_PATH=/etc/letsencrypt/live/stsmda.org/fullchain.pem \
17
+ DEBUG=proc* \
18
+ UV_THREADPOOL_SIZE=64 \
19
+ node dist/testing/app
@@ -11,9 +11,15 @@ export interface IPCMessageHandlerOptions {
11
11
  logger: ISTSLogger
12
12
  requestResponseMessageTimeout: number
13
13
  namespace: string
14
- //processPayload?: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>
15
14
  }
16
15
 
16
+ /**
17
+ * IPC Message Handling.
18
+ *
19
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
20
+ * This class can be used for both tghe cluster primary and the cluster worker.
21
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
22
+ */
17
23
  export class IPCMessageHandler extends TinyEmitter {
18
24
  #ipcMessageManager: IPCMessageManager | null = null;
19
25
  #options: IPCMessageHandlerOptions;
@@ -151,7 +151,7 @@ export class IPCMessageManager
151
151
  const message = (msg as IIPCMessageProcessorIPCPayload);
152
152
  if (msg.messageType.localeCompare('REQUEST') === 0) {
153
153
  let processMessage = true;
154
- if (message.requestPayload.args.length > 0 && message.requestPayload.args[0].group) {
154
+ if (message.requestPayload.args && message.requestPayload.args.length > 0 && message.requestPayload.args[0].group) {
155
155
  const group = message.requestPayload.args[0].group;
156
156
  processMessage = (this.#options.groups.indexOf(group) === -1) ? false : true;
157
157
  }
@@ -13,8 +13,16 @@ export interface IIPCMessageProcessorPrimary {
13
13
  processPayload?: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>
14
14
  }
15
15
 
16
- export class IPCMessageProcessorPrimary
17
- {
16
+ /**
17
+ * IPC Message Handling.
18
+ *
19
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
20
+ * This class can be used for finer control for processing messages between the cluster primary and cluster workers.
21
+ * Use the ipcMessageHandler for a simpler implementation.
22
+ * This class is used for the cluster primary thread only.
23
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
24
+ */
25
+ export class IPCMessageProcessorPrimary {
18
26
  #ipcMessageManager: IPCMessageManager;
19
27
  #worker: Worker | null = null;
20
28
 
@@ -12,6 +12,15 @@ export interface IIPCMessageProcessorWorker {
12
12
  processPayload?: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>
13
13
  }
14
14
 
15
+ /**
16
+ * IPC Message Handling.
17
+ *
18
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
19
+ * This class can be used for finer control for processing messages between the cluster primary and cluster workers.
20
+ * Use the ipcMessageHandler for a simpler implementation.
21
+ * This class is used for the cluster worker threads only.
22
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
23
+ */
15
24
  export class IPCMessageProcessorWorker {
16
25
  #ipcMessageManager: IPCMessageManager;
17
26
 
@@ -35,7 +44,9 @@ export class IPCMessageProcessorWorker {
35
44
  },
36
45
  messageReceiverStart: (options: any) => {
37
46
  // Receive a message response back from the primary thread
38
- process.on('message', (payload) => this.#ipcMessageManager.ProcessMessage(payload, options));
47
+ process.on('message', (payload) => {
48
+ this.#ipcMessageManager.ProcessMessage(payload, options);
49
+ });
39
50
  },
40
51
  messageReceiverStop: (options: any) => {
41
52
  process.off('message', (payload) => this.#ipcMessageManager.ProcessMessage(payload, options));
@@ -102,8 +102,7 @@ export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
102
102
  }
103
103
  }
104
104
 
105
- #InitCluster = () =>
106
- {
105
+ #InitCluster = () => {
107
106
  cluster.on('listening', () => {
108
107
  let allListening = true;
109
108
  for (const worker of Object.values(cluster.workers as NodeJS.Dict<Worker>)) {
@@ -0,0 +1,87 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
+ import { ServiceConfigOptions } from './appConfig'
3
+ import { MasterProcessBase } from './..'
4
+ import { WorkerProcess } from './appWorkerWSS'
5
+
6
+ import cluster, { Worker } from 'node:cluster';
7
+
8
+ import { IPCMessageProcessorWorker } from './../ipcMessageProcessorWorker'
9
+ import { defaultLogger } from '@nsshunt/stsutils';
10
+
11
+ import { IPCMessageProcessorPrimary } from './../ipcMessageProcessorPrimary'
12
+
13
+ import { IIPCMessageProcessorIPCPayload } from './../commonTypes'
14
+
15
+ import chalk from 'chalk';
16
+
17
+ const iterations = 2000;
18
+
19
+ const StartTestPrimary = () => {
20
+ setTimeout(async () => {
21
+ for (const id in cluster.workers) {
22
+ const p1 = new IPCMessageProcessorPrimary({
23
+ logger: defaultLogger,
24
+ namespace: 'test1',
25
+ processPayload: async (payload: IIPCMessageProcessorIPCPayload) => {
26
+ console.log(chalk.grey(`Inside Primary ==> [${process.pid}] Received message from worker: [${JSON.stringify(payload.requestPayload)}]`));
27
+ return {
28
+ msg: `From PRIMARY: [${process.pid}]`,
29
+ yousent: payload.requestPayload,
30
+ hello1: `world1`,
31
+ pid: process.pid
32
+ };
33
+ }
34
+ })
35
+ p1.Start(cluster.workers[id] as Worker);
36
+ setTimeout(async () => {
37
+ for (let i=0; i < iterations; i++) {
38
+ const sendMessage = {
39
+ from1: `From PRIMARY: [${process.pid}]`,
40
+ loop1: `${i}`,
41
+ };
42
+ console.log(chalk.yellow(`Inside Primary ==> [${process.pid}] Sending message to worker: [${JSON.stringify(sendMessage)}]`));
43
+ const retVal1 = await p1.SendMessage(sendMessage);
44
+ console.log(chalk.yellow(` Inside Primary ==> [${process.pid}] Response from worker: [${JSON.stringify(retVal1)}]`));
45
+ }
46
+ }, 1000);
47
+ }
48
+ }, 2000);
49
+ }
50
+
51
+ const StartTestWorker = () => {
52
+ setTimeout(() => {
53
+ const w1 = new IPCMessageProcessorWorker({
54
+ logger: defaultLogger,
55
+ namespace: 'test1',
56
+ requestResponseMessageTimeout: 5000,
57
+ processPayload: async (payload) => {
58
+ console.log(chalk.cyan(`Inside Worker ==> [${process.pid}] Received message from primary: [${JSON.stringify(payload.requestPayload)}]`));
59
+ return {
60
+ msg1: `From WORKER: [${process.pid}]`,
61
+ yousent1: payload.requestPayload,
62
+ pid1: process.pid
63
+ }
64
+ }
65
+ })
66
+ w1.Start();
67
+ setTimeout(async () => {
68
+ for (let i=0; i < iterations; i++) {
69
+ const sendMessage = {
70
+ message:`From WORKER ${process.pid}`,
71
+ loop1: `${i}`,
72
+ };
73
+ console.log(chalk.blue(`Inside Worker ==> [${process.pid}] Sending message to primary: [${JSON.stringify(sendMessage)}]`));
74
+ const retVal1 = await w1.SendMessage(sendMessage);
75
+ console.log(chalk.blue(` Inside Worker ==> [${process.pid}] Response from primary: [${JSON.stringify(retVal1)}]`));
76
+ }
77
+ }, 1000);
78
+ }, 2000);
79
+ }
80
+
81
+ if (cluster.isPrimary) {
82
+ new MasterProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
83
+ StartTestPrimary();
84
+ } else {
85
+ new WorkerProcess(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
86
+ StartTestWorker();
87
+ }
@@ -0,0 +1,68 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
+ import { ServiceConfigOptions } from './appConfig'
3
+ import { MasterProcessBase } from './../masterprocessbase'
4
+ import { WorkerProcess } from './appWorkerWSS'
5
+
6
+ import cluster, { Worker } from 'node:cluster'
7
+
8
+ import { JSONObject, defaultLogger } from '@nsshunt/stsutils';
9
+
10
+ import chalk from 'chalk';
11
+
12
+ import { IPCMessageHandler } from './../ipcMessageHandler'
13
+
14
+ const iterations = 2000;
15
+
16
+ if (cluster.isPrimary) {
17
+ new MasterProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
18
+ setTimeout(() => {
19
+ const p: Record<string, IPCMessageHandler> = { };
20
+ for (const id in cluster.workers) {
21
+ const worker = cluster.workers[id] as Worker;
22
+ const p1: IPCMessageHandler = new IPCMessageHandler({
23
+ logger: defaultLogger,
24
+ requestResponseMessageTimeout: 5000,
25
+ namespace: 'aabbcc'
26
+ });
27
+ p1.Start(worker);
28
+ p1.on('fromworker', (args: string, pid: number, iterations: number, cb: any) => {
29
+ console.log(chalk.green(`inside primary: ${process.pid}: fromworker event handler: [${args},${pid},${iterations}]`));
30
+ cb(`response from primary - ${pid} ${iterations}`);
31
+ });
32
+ p[worker.id] = p1;
33
+ }
34
+ setTimeout(() => {
35
+ for (let i=0; i < iterations; i++) {
36
+ for (const [workerId, mh] of Object.entries(p)) {
37
+ mh.emit('fromprimary', { hello: "World", id: workerId, iterations: i }, (params: any) => {
38
+ console.log(chalk.cyan(`inside primary: ${process.pid}: fromprimary emit response: [${JSON.stringify(params)}]`));
39
+ });
40
+ }
41
+ }
42
+ }, 1000);
43
+ }, 2000);
44
+ } else {
45
+ new WorkerProcess(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
46
+ setTimeout(async () => {
47
+ const w1: IPCMessageHandler = new IPCMessageHandler({
48
+ logger: defaultLogger,
49
+ requestResponseMessageTimeout: 5000,
50
+ namespace: 'aabbcc'
51
+ });
52
+ w1.Start();
53
+ w1.on('fromprimary', (args: JSONObject, cb: any) => {
54
+ console.log(chalk.yellow(`inside worker: ${process.pid}: fromprimary event handler: [${JSON.stringify(args)}]`));
55
+ cb({
56
+ txt: 'response fromprimary',
57
+ args
58
+ });
59
+ });
60
+ setTimeout(() => {
61
+ for (let i=0; i < iterations; i++) {
62
+ w1.emit('fromworker', "hello", process.pid, i, (args: any) => {
63
+ console.log(chalk.grey(`inside worker: ${process.pid}: fromworker emit response: [${args}]`));
64
+ });
65
+ }
66
+ }, 1000);
67
+ }, 2000);
68
+ }
@@ -6,6 +6,13 @@ export interface IPCMessageHandlerOptions {
6
6
  requestResponseMessageTimeout: number;
7
7
  namespace: string;
8
8
  }
9
+ /**
10
+ * IPC Message Handling.
11
+ *
12
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
13
+ * This class can be used for both tghe cluster primary and the cluster worker.
14
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
15
+ */
9
16
  export declare class IPCMessageHandler extends TinyEmitter {
10
17
  #private;
11
18
  constructor(options: IPCMessageHandlerOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMessageHandler.d.ts","sourceRoot":"","sources":["../src/ipcMessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAgB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAMzE,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;CAEpB;AAED,qBAAa,iBAAkB,SAAQ,WAAW;;gBAMlC,OAAO,EAAE,wBAAwB;IAU7C,IAAI,QAAQ,eAEX;IAED,YAAY,aAwBX;IAED,WAAW,aAwBV;IAED,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAW7D;IAwBQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI;IAejD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAQjD,KAAK,YAAa,MAAM,UAOvB;IAED,IAAI,aAOH;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAEQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAcrD"}
1
+ {"version":3,"file":"ipcMessageHandler.d.ts","sourceRoot":"","sources":["../src/ipcMessageHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAgB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAMzE,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;;gBAMlC,OAAO,EAAE,wBAAwB;IAU7C,IAAI,QAAQ,eAEX;IAED,YAAY,aAwBX;IAED,WAAW,aAwBV;IAED,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAW7D;IAwBQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI;IAejD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAQjD,KAAK,YAAa,MAAM,UAOvB;IAED,IAAI,aAOH;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAEQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAcrD"}
@@ -6,6 +6,15 @@ export interface IIPCMessageProcessorPrimary {
6
6
  namespace: string;
7
7
  processPayload?: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>;
8
8
  }
9
+ /**
10
+ * IPC Message Handling.
11
+ *
12
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
13
+ * This class can be used for finer control for processing messages between the cluster primary and cluster workers.
14
+ * Use the ipcMessageHandler for a simpler implementation.
15
+ * This class is used for the cluster primary thread only.
16
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
17
+ */
9
18
  export declare class IPCMessageProcessorPrimary {
10
19
  #private;
11
20
  constructor(classOptions: IIPCMessageProcessorPrimary);
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMessageProcessorPrimary.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorPrimary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAI9D,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAClG;AAED,qBAAa,0BAA0B;;gBAKvB,YAAY,EAAE,2BAA2B;IA8BrD,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAE7D;IAED,KAAK,WAAY,MAAM,UAGtB;IAED,IAAI,aAGH;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;CACJ"}
1
+ {"version":3,"file":"ipcMessageProcessorPrimary.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorPrimary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAI9D,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAClG;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;;gBAIvB,YAAY,EAAE,2BAA2B;IA8BrD,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAE7D;IAED,KAAK,WAAY,MAAM,UAGtB;IAED,IAAI,aAGH;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;CACJ"}
@@ -6,6 +6,15 @@ export interface IIPCMessageProcessorWorker {
6
6
  namespace: string;
7
7
  processPayload?: (payload: IIPCMessageProcessorIPCPayload, options: any) => Promise<JSONObject>;
8
8
  }
9
+ /**
10
+ * IPC Message Handling.
11
+ *
12
+ * This class can be used to support messages between cluster.primary and cluster.worker instances using IPC.
13
+ * This class can be used for finer control for processing messages between the cluster primary and cluster workers.
14
+ * Use the ipcMessageHandler for a simpler implementation.
15
+ * This class is used for the cluster worker threads only.
16
+ * Note: Currently groups handling is not supported. Use the redis version for this capability.
17
+ */
9
18
  export declare class IPCMessageProcessorWorker {
10
19
  #private;
11
20
  constructor(classOptions: IIPCMessageProcessorWorker);
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMessageProcessorWorker.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAI9D,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAClG;AAED,qBAAa,yBAAyB;;gBAGtB,YAAY,EAAE,0BAA0B;IA8BpD,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAE7D;IAED,KAAK,aAEJ;IAED,IAAI,aAEH;CACJ"}
1
+ {"version":3,"file":"ipcMessageProcessorWorker.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAI9D,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAClG;AAED;;;;;;;;GAQG;AACH,qBAAa,yBAAyB;;gBAGtB,YAAY,EAAE,0BAA0B;IAgCpD,WAAW,YAAmB,UAAU,KAAG,OAAO,CAAC,UAAU,CAAC,CAE7D;IAED,KAAK,aAEJ;IAED,IAAI,aAEH;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"masterprocessbase.d.ts","sourceRoot":"","sources":["../src/masterprocessbase.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAA;AASpE,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,kBAAkB;;gBAiBhE,OAAO,EAAE,cAAc;IAmB1B,0BAA0B,IAAI,IAAI;IAQlC,wBAAwB,IAAI,qBAAqB;IAS1D;;;OAGA;IAEA,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG;IAmI7C,WAAW,sBAKV;IAgCD,UAAU,OAAQ,MAAM,UAAU,MAAM,CAAC,OAAO,uBAAuB,GAAG,eAAe,OAAO,gBAAgB,OAAO,KAAG,OAAO,CA6BhI;IAED,WAAW,WAAY,MAAM,CAAC,OAAO,YAAY,OAAO,KAAG,IAAI,CAkB9D;IAUD,UAAU,QAAO,IAAI,CAIpB;IAED,UAAU,QAAO,IAAI,CAIpB;IAGD,SAAS,YAAa,GAAG,KAAG,MAAM,CAOjC;IAEK,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsGzF,aAAa,IAAI,IAAI;IASrB,IAAa,YAAY,IAAI,OAAO,CAEnC;IAED,aAAa,sBA8LZ;IAED,sBAAsB,YAAa,GAAG,QAAQ,GAAG,UAahD;CA6CJ"}
1
+ {"version":3,"file":"masterprocessbase.d.ts","sourceRoot":"","sources":["../src/masterprocessbase.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAA;AASpE,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,kBAAkB;;gBAiBhE,OAAO,EAAE,cAAc;IAmB1B,0BAA0B,IAAI,IAAI;IAQlC,wBAAwB,IAAI,qBAAqB;IAS1D;;;OAGA;IAEA,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG;IAkI7C,WAAW,sBAKV;IAgCD,UAAU,OAAQ,MAAM,UAAU,MAAM,CAAC,OAAO,uBAAuB,GAAG,eAAe,OAAO,gBAAgB,OAAO,KAAG,OAAO,CA6BhI;IAED,WAAW,WAAY,MAAM,CAAC,OAAO,YAAY,OAAO,KAAG,IAAI,CAkB9D;IAUD,UAAU,QAAO,IAAI,CAIpB;IAED,UAAU,QAAO,IAAI,CAIpB;IAGD,SAAS,YAAa,GAAG,KAAG,MAAM,CAOjC;IAEK,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsGzF,aAAa,IAAI,IAAI;IASrB,IAAa,YAAY,IAAI,OAAO,CAEnC;IAED,aAAa,sBA8LZ;IAED,sBAAsB,YAAa,GAAG,QAAQ,GAAG,UAahD;CA6CJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app_ipc_legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app_ipc_legacy.d.ts","sourceRoot":"","sources":["../../src/testing/app_ipc_legacy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app_ipcex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app_ipcex.d.ts","sourceRoot":"","sources":["../../src/testing/app_ipcex.ts"],"names":[],"mappings":""}