@nsshunt/stsrunnerframework 2.0.33 → 2.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +49 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +49 -10
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -9
- package/types/abstractRunnerExecutionWorker.d.ts +1 -0
- package/types/abstractRunnerExecutionWorker.d.ts.map +1 -1
- package/types/commonTypes.d.ts +9 -1
- package/types/commonTypes.d.ts.map +1 -1
- package/types/testing/mockedWorkerTestRunner01.d.ts +1 -0
- package/types/testing/mockedWorkerTestRunner01.d.ts.map +1 -1
- package/types/workerInstance.d.ts.map +1 -1
- package/types/workerManager.d.ts +1 -1
- package/types/workerManager.d.ts.map +1 -1
package/dist/index.mjs
CHANGED
|
@@ -65,6 +65,8 @@ var eIWMessageCommands = /* @__PURE__ */ function(eIWMessageCommands) {
|
|
|
65
65
|
eIWMessageCommands["GetRunnersResponse"] = "__STS__GetRunnersResponse";
|
|
66
66
|
eIWMessageCommands["PostWorkerMessage"] = "__STS__PostWorkerMessage";
|
|
67
67
|
eIWMessageCommands["PostWorkerMessageResponse"] = "__STS__PostWorkerMessageResponse";
|
|
68
|
+
eIWMessageCommands["PostWorkerPreTerminateMessage"] = "__STS__PostWorkerPreTerminateMessage";
|
|
69
|
+
eIWMessageCommands["PostWorkerPreTerminateMessageResponse"] = "__STS__PostWorkerPreTerminateMessageResponse";
|
|
68
70
|
return eIWMessageCommands;
|
|
69
71
|
}({});
|
|
70
72
|
var IRunnerState = /* @__PURE__ */ function(IRunnerState) {
|
|
@@ -1036,6 +1038,25 @@ var AbstractRunnerExecutionWorker = class {
|
|
|
1036
1038
|
this.#error(`#PostWorkerMessageToWorkerManager(): [${error}]`);
|
|
1037
1039
|
}
|
|
1038
1040
|
};
|
|
1041
|
+
#PostWorkerPreTerminateMessageToWorkerManager = async (messagePayload) => {
|
|
1042
|
+
try {
|
|
1043
|
+
if (this.#collectorCollectorPort) {
|
|
1044
|
+
const response = await this.ProcessPreTerminateWorkerMessage(messagePayload);
|
|
1045
|
+
const message = {
|
|
1046
|
+
command: eIWMessageCommands.PostWorkerMessageResponse,
|
|
1047
|
+
payload: {
|
|
1048
|
+
messageId: messagePayload.payload.messageId,
|
|
1049
|
+
workerId: this.#workerId,
|
|
1050
|
+
response
|
|
1051
|
+
}
|
|
1052
|
+
};
|
|
1053
|
+
this.#collectorCollectorPort.postMessage(message);
|
|
1054
|
+
await Sleep(0);
|
|
1055
|
+
}
|
|
1056
|
+
} catch (error) {
|
|
1057
|
+
this.#error(`#PostWorkerPreTerminateMessageToWorkerManager(): [${error}]`);
|
|
1058
|
+
}
|
|
1059
|
+
};
|
|
1039
1060
|
/**
|
|
1040
1061
|
* Start a runner and, if valid, launch its execution loop.
|
|
1041
1062
|
*
|
|
@@ -1419,6 +1440,9 @@ var AbstractRunnerExecutionWorker = class {
|
|
|
1419
1440
|
async ProcessGenericWorkerMessage(messagePayload) {
|
|
1420
1441
|
return {};
|
|
1421
1442
|
}
|
|
1443
|
+
async ProcessPreTerminateWorkerMessage(messagePayload) {
|
|
1444
|
+
return {};
|
|
1445
|
+
}
|
|
1422
1446
|
/**
|
|
1423
1447
|
* Main inbound message dispatcher for this worker runtime.
|
|
1424
1448
|
*
|
|
@@ -1502,6 +1526,10 @@ var AbstractRunnerExecutionWorker = class {
|
|
|
1502
1526
|
this.#silly(`ProcessMessage::PostWorkerMessage`);
|
|
1503
1527
|
this.#PostWorkerMessageToWorkerManager(payloadMessage);
|
|
1504
1528
|
break;
|
|
1529
|
+
case eIWMessageCommands.PostWorkerPreTerminateMessage:
|
|
1530
|
+
this.#silly(`ProcessMessage::PostWorkerPreTerminateMessage`);
|
|
1531
|
+
this.#PostWorkerPreTerminateMessageToWorkerManager(payloadMessage);
|
|
1532
|
+
break;
|
|
1505
1533
|
default: this.#warn(`ProcessMessage::default: Invalid payloadMessage.command: [${payloadMessage.command}] - Ignoring`);
|
|
1506
1534
|
}
|
|
1507
1535
|
} catch (error) {
|
|
@@ -4485,13 +4513,24 @@ var WorkerInstance = class {
|
|
|
4485
4513
|
try {
|
|
4486
4514
|
const runners = this.GetAllRunnersEx();
|
|
4487
4515
|
const promArray = [];
|
|
4516
|
+
const microDelayForPreTerminate = 500;
|
|
4517
|
+
const microDelayForTerminate = 500;
|
|
4488
4518
|
for (let i = 0; i < runners.length; i++) promArray.push(runners[i].Terminate());
|
|
4489
4519
|
const retVal = Promise.all(promArray);
|
|
4490
|
-
if (this.worker)
|
|
4491
|
-
|
|
4492
|
-
this.#logger.debug(`
|
|
4493
|
-
this.#
|
|
4494
|
-
|
|
4520
|
+
if (this.worker) {
|
|
4521
|
+
await Sleep(microDelayForPreTerminate);
|
|
4522
|
+
this.#logger.debug(chalk.rgb(150, 170, 90)(`Terminate(): Sending Pre Terminate worker command ...`));
|
|
4523
|
+
const retValPreTerminate = await this.#messageBroker.SendMessageToWorkerForWorkerWithCallBack(this, eIWMessageCommands.PostWorkerPreTerminateMessage, {});
|
|
4524
|
+
this.#logger.debug(chalk.rgb(150, 170, 90)(`Terminate(): Pre Terminate worker response: [${JSON.stringify(retValPreTerminate, null, 2)}]`));
|
|
4525
|
+
}
|
|
4526
|
+
setTimeout(() => {
|
|
4527
|
+
if (this.worker) if (this.options.mocked === false) {
|
|
4528
|
+
this.worker.terminate();
|
|
4529
|
+
this.#logger.debug(`Terminate(): Terminated worker: [${this.id}]`);
|
|
4530
|
+
this.#workerRegistry.DeleteWorker(this.id);
|
|
4531
|
+
} else this.#logger.debug(`Terminate(): Terminated worker: [${this.id}] (Mocked)`);
|
|
4532
|
+
else this.#logger.warn(`Terminate(): Could not terminate worker: [${this.id}] - this.worker not set`);
|
|
4533
|
+
}, microDelayForTerminate);
|
|
4495
4534
|
return retVal;
|
|
4496
4535
|
} catch (error) {
|
|
4497
4536
|
this.#logger.error(`_TerminateWorker(): Error: [${error}]`);
|
|
@@ -6611,7 +6650,7 @@ var STSWorkerManager = class {
|
|
|
6611
6650
|
* - this does not automatically terminate all workers
|
|
6612
6651
|
* - callers should explicitly terminate workers first if desired
|
|
6613
6652
|
*/
|
|
6614
|
-
Terminate() {
|
|
6653
|
+
async Terminate() {
|
|
6615
6654
|
this.options.logger.debug(`STSWorkerManager:Terminate()`);
|
|
6616
6655
|
this.#archiveManager.Terminate();
|
|
6617
6656
|
}
|
|
@@ -6682,7 +6721,7 @@ var STSWorkerManager = class {
|
|
|
6682
6721
|
};
|
|
6683
6722
|
};
|
|
6684
6723
|
//#endregion
|
|
6685
|
-
//#region node_modules/@nsshunt/stssocketioutils/dist/tiny-emitter-
|
|
6724
|
+
//#region node_modules/@nsshunt/stssocketioutils/dist/tiny-emitter-Ci1ma0VV.js
|
|
6686
6725
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
6687
6726
|
var require_tiny_emitter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
6688
6727
|
function E() {}
|
|
@@ -7432,8 +7471,8 @@ var BaseXHR = class extends Polling {
|
|
|
7432
7471
|
/**
|
|
7433
7472
|
* Sends data.
|
|
7434
7473
|
*
|
|
7435
|
-
* @param {String} data to send.
|
|
7436
|
-
* @param {Function} called upon flush.
|
|
7474
|
+
* @param {String} data - data to send.
|
|
7475
|
+
* @param {Function} fn - called upon flush.
|
|
7437
7476
|
* @private
|
|
7438
7477
|
*/
|
|
7439
7478
|
doWrite(data, fn) {
|
|
@@ -8164,7 +8203,7 @@ var SocketWithoutUpgrade = class SocketWithoutUpgrade extends Emitter {
|
|
|
8164
8203
|
/**
|
|
8165
8204
|
* Sends a packet.
|
|
8166
8205
|
*
|
|
8167
|
-
* @param {String} type
|
|
8206
|
+
* @param {String} type - packet type.
|
|
8168
8207
|
* @param {String} data.
|
|
8169
8208
|
* @param {Object} options.
|
|
8170
8209
|
* @param {Function} fn - callback function.
|