@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.cjs
CHANGED
|
@@ -66,6 +66,8 @@ var eIWMessageCommands = /* @__PURE__ */ function(eIWMessageCommands) {
|
|
|
66
66
|
eIWMessageCommands["GetRunnersResponse"] = "__STS__GetRunnersResponse";
|
|
67
67
|
eIWMessageCommands["PostWorkerMessage"] = "__STS__PostWorkerMessage";
|
|
68
68
|
eIWMessageCommands["PostWorkerMessageResponse"] = "__STS__PostWorkerMessageResponse";
|
|
69
|
+
eIWMessageCommands["PostWorkerPreTerminateMessage"] = "__STS__PostWorkerPreTerminateMessage";
|
|
70
|
+
eIWMessageCommands["PostWorkerPreTerminateMessageResponse"] = "__STS__PostWorkerPreTerminateMessageResponse";
|
|
69
71
|
return eIWMessageCommands;
|
|
70
72
|
}({});
|
|
71
73
|
var IRunnerState = /* @__PURE__ */ function(IRunnerState) {
|
|
@@ -1037,6 +1039,25 @@ var AbstractRunnerExecutionWorker = class {
|
|
|
1037
1039
|
this.#error(`#PostWorkerMessageToWorkerManager(): [${error}]`);
|
|
1038
1040
|
}
|
|
1039
1041
|
};
|
|
1042
|
+
#PostWorkerPreTerminateMessageToWorkerManager = async (messagePayload) => {
|
|
1043
|
+
try {
|
|
1044
|
+
if (this.#collectorCollectorPort) {
|
|
1045
|
+
const response = await this.ProcessPreTerminateWorkerMessage(messagePayload);
|
|
1046
|
+
const message = {
|
|
1047
|
+
command: eIWMessageCommands.PostWorkerMessageResponse,
|
|
1048
|
+
payload: {
|
|
1049
|
+
messageId: messagePayload.payload.messageId,
|
|
1050
|
+
workerId: this.#workerId,
|
|
1051
|
+
response
|
|
1052
|
+
}
|
|
1053
|
+
};
|
|
1054
|
+
this.#collectorCollectorPort.postMessage(message);
|
|
1055
|
+
await (0, _nsshunt_stsutils.Sleep)(0);
|
|
1056
|
+
}
|
|
1057
|
+
} catch (error) {
|
|
1058
|
+
this.#error(`#PostWorkerPreTerminateMessageToWorkerManager(): [${error}]`);
|
|
1059
|
+
}
|
|
1060
|
+
};
|
|
1040
1061
|
/**
|
|
1041
1062
|
* Start a runner and, if valid, launch its execution loop.
|
|
1042
1063
|
*
|
|
@@ -1420,6 +1441,9 @@ var AbstractRunnerExecutionWorker = class {
|
|
|
1420
1441
|
async ProcessGenericWorkerMessage(messagePayload) {
|
|
1421
1442
|
return {};
|
|
1422
1443
|
}
|
|
1444
|
+
async ProcessPreTerminateWorkerMessage(messagePayload) {
|
|
1445
|
+
return {};
|
|
1446
|
+
}
|
|
1423
1447
|
/**
|
|
1424
1448
|
* Main inbound message dispatcher for this worker runtime.
|
|
1425
1449
|
*
|
|
@@ -1503,6 +1527,10 @@ var AbstractRunnerExecutionWorker = class {
|
|
|
1503
1527
|
this.#silly(`ProcessMessage::PostWorkerMessage`);
|
|
1504
1528
|
this.#PostWorkerMessageToWorkerManager(payloadMessage);
|
|
1505
1529
|
break;
|
|
1530
|
+
case eIWMessageCommands.PostWorkerPreTerminateMessage:
|
|
1531
|
+
this.#silly(`ProcessMessage::PostWorkerPreTerminateMessage`);
|
|
1532
|
+
this.#PostWorkerPreTerminateMessageToWorkerManager(payloadMessage);
|
|
1533
|
+
break;
|
|
1506
1534
|
default: this.#warn(`ProcessMessage::default: Invalid payloadMessage.command: [${payloadMessage.command}] - Ignoring`);
|
|
1507
1535
|
}
|
|
1508
1536
|
} catch (error) {
|
|
@@ -4486,13 +4514,24 @@ var WorkerInstance = class {
|
|
|
4486
4514
|
try {
|
|
4487
4515
|
const runners = this.GetAllRunnersEx();
|
|
4488
4516
|
const promArray = [];
|
|
4517
|
+
const microDelayForPreTerminate = 500;
|
|
4518
|
+
const microDelayForTerminate = 500;
|
|
4489
4519
|
for (let i = 0; i < runners.length; i++) promArray.push(runners[i].Terminate());
|
|
4490
4520
|
const retVal = Promise.all(promArray);
|
|
4491
|
-
if (this.worker)
|
|
4492
|
-
|
|
4493
|
-
this.#logger.debug(`
|
|
4494
|
-
this.#
|
|
4495
|
-
|
|
4521
|
+
if (this.worker) {
|
|
4522
|
+
await (0, _nsshunt_stsutils.Sleep)(microDelayForPreTerminate);
|
|
4523
|
+
this.#logger.debug(chalk.rgb(150, 170, 90)(`Terminate(): Sending Pre Terminate worker command ...`));
|
|
4524
|
+
const retValPreTerminate = await this.#messageBroker.SendMessageToWorkerForWorkerWithCallBack(this, eIWMessageCommands.PostWorkerPreTerminateMessage, {});
|
|
4525
|
+
this.#logger.debug(chalk.rgb(150, 170, 90)(`Terminate(): Pre Terminate worker response: [${JSON.stringify(retValPreTerminate, null, 2)}]`));
|
|
4526
|
+
}
|
|
4527
|
+
setTimeout(() => {
|
|
4528
|
+
if (this.worker) if (this.options.mocked === false) {
|
|
4529
|
+
this.worker.terminate();
|
|
4530
|
+
this.#logger.debug(`Terminate(): Terminated worker: [${this.id}]`);
|
|
4531
|
+
this.#workerRegistry.DeleteWorker(this.id);
|
|
4532
|
+
} else this.#logger.debug(`Terminate(): Terminated worker: [${this.id}] (Mocked)`);
|
|
4533
|
+
else this.#logger.warn(`Terminate(): Could not terminate worker: [${this.id}] - this.worker not set`);
|
|
4534
|
+
}, microDelayForTerminate);
|
|
4496
4535
|
return retVal;
|
|
4497
4536
|
} catch (error) {
|
|
4498
4537
|
this.#logger.error(`_TerminateWorker(): Error: [${error}]`);
|
|
@@ -6612,7 +6651,7 @@ var STSWorkerManager = class {
|
|
|
6612
6651
|
* - this does not automatically terminate all workers
|
|
6613
6652
|
* - callers should explicitly terminate workers first if desired
|
|
6614
6653
|
*/
|
|
6615
|
-
Terminate() {
|
|
6654
|
+
async Terminate() {
|
|
6616
6655
|
this.options.logger.debug(`STSWorkerManager:Terminate()`);
|
|
6617
6656
|
this.#archiveManager.Terminate();
|
|
6618
6657
|
}
|
|
@@ -6683,7 +6722,7 @@ var STSWorkerManager = class {
|
|
|
6683
6722
|
};
|
|
6684
6723
|
};
|
|
6685
6724
|
//#endregion
|
|
6686
|
-
//#region node_modules/@nsshunt/stssocketioutils/dist/tiny-emitter-
|
|
6725
|
+
//#region node_modules/@nsshunt/stssocketioutils/dist/tiny-emitter-Ci1ma0VV.js
|
|
6687
6726
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
6688
6727
|
var require_tiny_emitter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
6689
6728
|
function E() {}
|
|
@@ -7433,8 +7472,8 @@ var BaseXHR = class extends Polling {
|
|
|
7433
7472
|
/**
|
|
7434
7473
|
* Sends data.
|
|
7435
7474
|
*
|
|
7436
|
-
* @param {String} data to send.
|
|
7437
|
-
* @param {Function} called upon flush.
|
|
7475
|
+
* @param {String} data - data to send.
|
|
7476
|
+
* @param {Function} fn - called upon flush.
|
|
7438
7477
|
* @private
|
|
7439
7478
|
*/
|
|
7440
7479
|
doWrite(data, fn) {
|
|
@@ -8165,7 +8204,7 @@ var SocketWithoutUpgrade = class SocketWithoutUpgrade extends Emitter {
|
|
|
8165
8204
|
/**
|
|
8166
8205
|
* Sends a packet.
|
|
8167
8206
|
*
|
|
8168
|
-
* @param {String} type
|
|
8207
|
+
* @param {String} type - packet type.
|
|
8169
8208
|
* @param {String} data.
|
|
8170
8209
|
* @param {Object} options.
|
|
8171
8210
|
* @param {Function} fn - callback function.
|