@nsshunt/stsrunnerframework 1.0.84 → 1.0.86

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.
@@ -13,7 +13,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
13
13
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
14
14
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
15
15
 
16
- var _collectorCollectorPort, _runners, _options, _workerId, _debug, _error, _processLoopExecutor, _SetMessagePort, _CreateRunnerEx2RunState, _UpdateRunnerStateById, _GetAllRunners, _CanExecuteNextIterationById, _IsCompletedById, _GetRunnerIterationById, _ResetRunnerIterationById, _IncRunnerIterationById, _GetRunnerInstanceById, _GetRunnerExecutionProfileById, _GetRunnerOptionsById, _SetRunnerOptionsById, _AddRunner, _WorkerInstance_instances, SleepImmediate_fn, _PostMessageToWorkerManagerById, _StartRunner, _StopRunnerByRunnerId, _StopAllRunners, _StopRunner, _TerminateRunner, _PauseRunner, _ResumeRunner, _ResetRunner, _ExecuteRunner, _UpdateOptions, _workersEx, _options2, _STSInstrumentController, _telemetryProcessor, _archiveList, _id, _processLoopExecutor2, _debug2, _SetRunnerIntoWorker, _ProcessTelemetry, _EmitEvent, _RunnerStateChange, _RemoveRunnerFromCollection, _CreateAsyncRunner, _PostMessageToWorkerUsingDefaultChannel, _PostMessageToWorker, _StartRunner2, _ResetRunner2, _ExecuteRunner2, _StopRunner2, _TerminateRunner2, _PauseRunner2, _ResumeRunner2, _UpdateOptionsRunner, _PauseWorker, _ResumeWorker, _StopWorker, _StartWorker, _ResetWorker, _ExecuteWorker, _UpdateOptionsWorker, _BroadcastCommandToAllRunners, _TerminateWorker, _HandleAllWorkers;
16
+ var _collectorCollectorPort, _runners, _options, _workerId, _debug, _error, _processLoopExecutor, _SetMessagePort, _CreateRunnerEx2RunState, _UpdateRunnerStateById, _GetAllRunners, _CanExecuteNextIterationById, _IsCompletedById, _GetRunnerIterationById, _ResetRunnerIterationById, _IncRunnerIterationById, _GetRunnerInstanceById, _GetRunnerExecutionProfileById, _GetRunnerOptionsById, _SetRunnerOptionsById, _AddRunner, _WorkerInstance_instances, SleepImmediate_fn, _PostMessageToWorkerManagerById, _StartRunner, _StopRunnerByRunnerId, _StopAllRunners, _StopRunner, _TerminateRunner, _PauseRunner, _ResumeRunner, _ResetRunner, _ExecuteRunner, _UpdateOptions, _workersEx, _options2, _STSInstrumentController, _telemetryProcessor, _archiveList, _id, _processLoopExecutor2, _debug2, _SetRunnerIntoWorker, _ProcessTelemetry, _EmitWorkerEvent, _EmitRunnerEvent, _RunnerStateChange, _RemoveRunnerFromCollection, _CreateAsyncRunner, _PostMessageToWorkerUsingDefaultChannel, _PostMessageToWorker, _StartRunner2, _ResetRunner2, _ExecuteRunner2, _StopRunner2, _TerminateRunner2, _PauseRunner2, _ResumeRunner2, _UpdateOptionsRunner, _PauseWorker, _ResumeWorker, _StopWorker, _StartWorker, _ResetWorker, _ExecuteWorker, _UpdateOptionsWorker, _TerminateWorker, _BroadcastCommandToAllRunners, _HandleAllWorkers;
17
17
  const URI_BASE_VUEUTILS = "/";
18
18
  const STS_RF_RES_PREFIX = "STS_R_RF_";
19
19
  const STS_RF_RES_ENT_PREFIX = "STS_RE_RF_";
@@ -2228,10 +2228,12 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2228
2228
  __privateGet(this, _debug2).call(this, chalk.grey(`Ending publish for runner: [${JSON.stringify(runnerEx.asyncRunnerContext)}]`));
2229
2229
  runnerEx.publishInstrumentController.EndPublish();
2230
2230
  }
2231
- const runner = this.CreateRunnerCopy(runnerEx);
2232
- __privateGet(this, _archiveList).push(runner);
2233
- if (__privateGet(this, _archiveList).length > __privateGet(this, _options2).maxArchiveListLength) {
2234
- __privateGet(this, _archiveList).shift();
2231
+ if (runnerEx.state !== IRunnerState.terminated) {
2232
+ const runner = this.CreateRunnerCopy(runnerEx);
2233
+ __privateGet(this, _archiveList).push(runner);
2234
+ if (__privateGet(this, _archiveList).length > __privateGet(this, _options2).maxArchiveListLength) {
2235
+ __privateGet(this, _archiveList).shift();
2236
+ }
2235
2237
  }
2236
2238
  delete workerEx.runnersEx[removeList[i].runnerId];
2237
2239
  }
@@ -2283,6 +2285,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2283
2285
  id: workerId,
2284
2286
  workerManagerId: __privateGet(this, _id),
2285
2287
  worker: workerFactory.createWorkerThreadWorker(),
2288
+ workerEvents: [],
2286
2289
  messagePort: port1,
2287
2290
  options: workerOptions,
2288
2291
  runnersEx: {},
@@ -2306,7 +2309,14 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2306
2309
  Terminate: () => __privateGet(this, _TerminateWorker).call(this, stsWorkerEx),
2307
2310
  Reset: () => __privateGet(this, _ResetWorker).call(this, stsWorkerEx),
2308
2311
  Execute: () => __privateGet(this, _ExecuteWorker).call(this, stsWorkerEx),
2309
- UpdateOptions: (executionProfile) => __privateGet(this, _UpdateOptionsWorker).call(this, stsWorkerEx, executionProfile)
2312
+ UpdateOptions: (executionProfile) => __privateGet(this, _UpdateOptionsWorker).call(this, stsWorkerEx, executionProfile),
2313
+ on: (eventName, cb) => {
2314
+ stsWorkerEx.workerEvents.push({
2315
+ eventName,
2316
+ cb
2317
+ });
2318
+ return stsWorkerEx;
2319
+ }
2310
2320
  };
2311
2321
  if (__privateGet(this, _STSInstrumentController)) {
2312
2322
  __privateGet(this, _STSInstrumentController).LogEx(chalk.yellow(`pid: [${process.pid}] Creating new worker: [${stsWorkerEx.id}]`));
@@ -2337,17 +2347,45 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2337
2347
  if (!stsWorkerEx.options.mocked) {
2338
2348
  if (isNode) {
2339
2349
  stsWorkerEx.worker.on("exit", (code) => {
2340
- console.log(chalk.magenta(`STSWorkerManager:stsWorkerEx.worker.on(exit): Worker exited with code: ${code}`));
2350
+ try {
2351
+ console.log(chalk.magenta(`STSWorkerManager:stsWorkerEx.worker.on(exit): Worker exited with code: ${code}`));
2352
+ __privateGet(this, _EmitWorkerEvent).call(this, "exit", stsWorkerEx);
2353
+ if (__privateGet(this, _workersEx)[stsWorkerEx.id]) {
2354
+ delete __privateGet(this, _workersEx)[stsWorkerEx.id];
2355
+ console.log(chalk.magenta(`STSWorkerManager:stsWorkerEx.worker.on(exit): Worker: [${stsWorkerEx.id}] has been removed from the worker collection.`));
2356
+ }
2357
+ } catch (error) {
2358
+ console.error(chalk.red(`STSWorkerManager:stsWorkerEx.worker.on(exit): Error: [${error}] Worker: [${stsWorkerEx.id}]`));
2359
+ }
2341
2360
  });
2342
2361
  stsWorkerEx.worker.on("error", (error) => {
2343
- console.error(chalk.red(`STSWorkerManager:stsWorkerEx.worker.on(error): Worker error: ${error}`));
2362
+ try {
2363
+ console.error(chalk.red(`STSWorkerManager:stsWorkerEx.worker.on(error): Worker error: ${error}`));
2364
+ __privateGet(this, _EmitWorkerEvent).call(this, "error", stsWorkerEx);
2365
+ } catch (error2) {
2366
+ console.error(chalk.red(`STSWorkerManager:stsWorkerEx.worker.on(error): Error: [${error2}] Worker: [${stsWorkerEx.id}]`));
2367
+ }
2344
2368
  });
2345
2369
  } else {
2346
2370
  stsWorkerEx.worker.onerror = (error) => {
2347
- console.error(chalk.red("STSWorkerManager:stsWorkerEx.worker.onerror(): Error in worker:", error));
2371
+ try {
2372
+ console.error(chalk.red("STSWorkerManager:stsWorkerEx.worker.onerror(): Error in worker:", error));
2373
+ __privateGet(this, _EmitWorkerEvent).call(this, "onerror", stsWorkerEx);
2374
+ if (__privateGet(this, _workersEx)[stsWorkerEx.id]) {
2375
+ delete __privateGet(this, _workersEx)[stsWorkerEx.id];
2376
+ console.log(chalk.magenta(`STSWorkerManager:stsWorkerEx.worker.onerror(error): Worker: [${stsWorkerEx.id}] has been removed from the worker collection.`));
2377
+ }
2378
+ } catch (error2) {
2379
+ console.error(chalk.red(`STSWorkerManager:stsWorkerEx.worker.onerror(error): Error: [${error2}] Worker: [${stsWorkerEx.id}]`));
2380
+ }
2348
2381
  };
2349
2382
  stsWorkerEx.worker.onmessageerror = (error) => {
2350
- console.error(chalk.red("STSWorkerManager:stsWorkerEx.worker.onmessageerror(): Message error in worker:", error));
2383
+ try {
2384
+ console.error(chalk.red("STSWorkerManager:stsWorkerEx.worker.onmessageerror(): Message error in worker:", error));
2385
+ __privateGet(this, _EmitWorkerEvent).call(this, "onmessageerror", stsWorkerEx);
2386
+ } catch (error2) {
2387
+ console.error(chalk.red(`STSWorkerManager:stsWorkerEx.worker.onmessageerror(error): Error: [${error2}] Worker: [${stsWorkerEx.id}]`));
2388
+ }
2351
2389
  };
2352
2390
  }
2353
2391
  }
@@ -2416,10 +2454,17 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2416
2454
  if (runnerEx.publishInstrumentController && __privateGet(this, _telemetryProcessor)) {
2417
2455
  __privateGet(this, _telemetryProcessor).ProcessTelemetry(runnerEx.publishInstrumentController, runnerEx.instrumentData);
2418
2456
  }
2419
- __privateGet(this, _EmitEvent).call(this, "Telemetry", workerEx, runner.id);
2457
+ __privateGet(this, _EmitRunnerEvent).call(this, "Telemetry", workerEx, runner.id);
2420
2458
  }
2421
2459
  });
2422
- __privateAdd(this, _EmitEvent, (eventName, workerEx, runnerId) => {
2460
+ __privateAdd(this, _EmitWorkerEvent, (eventName, workerEx) => {
2461
+ workerEx.workerEvents.forEach((ev) => {
2462
+ if (ev.eventName.localeCompare(eventName) === 0) {
2463
+ ev.cb(workerEx);
2464
+ }
2465
+ });
2466
+ });
2467
+ __privateAdd(this, _EmitRunnerEvent, (eventName, workerEx, runnerId) => {
2423
2468
  if (workerEx.runnersEvents[runnerId]) {
2424
2469
  const runnersEvents = workerEx.runnersEvents[runnerId];
2425
2470
  runnersEvents.forEach((ev) => {
@@ -2444,7 +2489,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2444
2489
  eventDate: /* @__PURE__ */ new Date(),
2445
2490
  runner: { ...runner }
2446
2491
  });
2447
- __privateGet(this, _EmitEvent).call(this, "StateChange", workerEx, runner.id);
2492
+ __privateGet(this, _EmitRunnerEvent).call(this, "StateChange", workerEx, runner.id);
2448
2493
  }
2449
2494
  });
2450
2495
  __privateAdd(this, _RemoveRunnerFromCollection, (workerEx, payloadContents) => {
@@ -2649,6 +2694,25 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2649
2694
  __privateAdd(this, _UpdateOptionsWorker, (workerEx, executionProfile) => {
2650
2695
  return __privateGet(this, _BroadcastCommandToAllRunners).call(this, workerEx, __privateGet(this, _UpdateOptionsRunner), executionProfile);
2651
2696
  });
2697
+ __privateAdd(this, _TerminateWorker, (workerEx) => {
2698
+ try {
2699
+ const retVal = __privateGet(this, _BroadcastCommandToAllRunners).call(this, workerEx, __privateGet(this, _TerminateRunner2));
2700
+ if (workerEx.worker) {
2701
+ setTimeout(() => {
2702
+ workerEx.worker.terminate();
2703
+ __privateGet(this, _debug2).call(this, `Terminated worker: [${workerEx.id}]`);
2704
+ if (__privateGet(this, _workersEx)[workerEx.id]) {
2705
+ delete __privateGet(this, _workersEx)[workerEx.id];
2706
+ console.log(chalk.magenta(`STSWorkerManager:stsWorkerEx.worker.on(exit): Worker: [${workerEx.id}] has been removed from the worker collection.`));
2707
+ }
2708
+ }, 500);
2709
+ }
2710
+ return retVal;
2711
+ } catch (error) {
2712
+ console.log(`Error in STSTestWorker:TerminateWorker: [${error}]`);
2713
+ return [];
2714
+ }
2715
+ });
2652
2716
  __privateAdd(this, _BroadcastCommandToAllRunners, (workerEx, command, executionProfile) => {
2653
2717
  try {
2654
2718
  const executeCommand = (runnerEx) => {
@@ -2666,21 +2730,6 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2666
2730
  return [];
2667
2731
  }
2668
2732
  });
2669
- __privateAdd(this, _TerminateWorker, (workerEx) => {
2670
- try {
2671
- const retVal = __privateGet(this, _BroadcastCommandToAllRunners).call(this, workerEx, __privateGet(this, _TerminateRunner2));
2672
- if (workerEx.worker) {
2673
- workerEx.worker.terminate();
2674
- __privateGet(this, _debug2).call(this, `Terminated worker: [${workerEx.id}]`);
2675
- delete __privateGet(this, _workersEx)[workerEx.id];
2676
- } else {
2677
- }
2678
- return retVal;
2679
- } catch (error) {
2680
- console.log(`Error in STSTestWorker:TerminateWorker: [${error}]`);
2681
- return [];
2682
- }
2683
- });
2684
2733
  __publicField(this, "GetNextAvailableWorker", () => {
2685
2734
  let leastRunnerWorker = null;
2686
2735
  for (const [, stsWorker] of Object.entries(this.WorkersEx)) {
@@ -2817,7 +2866,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2817
2866
  _debug2 = new WeakMap();
2818
2867
  _SetRunnerIntoWorker = new WeakMap();
2819
2868
  _ProcessTelemetry = new WeakMap();
2820
- _EmitEvent = new WeakMap();
2869
+ _EmitWorkerEvent = new WeakMap();
2870
+ _EmitRunnerEvent = new WeakMap();
2821
2871
  _RunnerStateChange = new WeakMap();
2822
2872
  _RemoveRunnerFromCollection = new WeakMap();
2823
2873
  _CreateAsyncRunner = new WeakMap();
@@ -2838,8 +2888,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2838
2888
  _ResetWorker = new WeakMap();
2839
2889
  _ExecuteWorker = new WeakMap();
2840
2890
  _UpdateOptionsWorker = new WeakMap();
2841
- _BroadcastCommandToAllRunners = new WeakMap();
2842
2891
  _TerminateWorker = new WeakMap();
2892
+ _BroadcastCommandToAllRunners = new WeakMap();
2843
2893
  _HandleAllWorkers = new WeakMap();
2844
2894
  exports2.IRunnerState = IRunnerState;
2845
2895
  exports2.IWorkerState = IWorkerState;