redis-smq-common 3.0.0-rc.13 → 3.0.0-rc.14

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 (99) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/src/env/environment.js +6 -2
  3. package/dist/cjs/src/env/environment.js.map +1 -1
  4. package/dist/cjs/src/event-bus/event-bus-redis.js +1 -1
  5. package/dist/cjs/src/event-bus/event-bus.js +1 -1
  6. package/dist/cjs/src/redis-client/clients/ioredis-client.js +1 -1
  7. package/dist/cjs/src/redis-client/clients/node-redis-client.js +1 -1
  8. package/dist/cjs/src/worker/errors/worker-thread.error.js +1 -1
  9. package/dist/cjs/src/worker/errors/worker-thread.error.js.map +1 -1
  10. package/dist/cjs/src/worker/types/index.js +1 -0
  11. package/dist/cjs/src/worker/types/index.js.map +1 -1
  12. package/dist/cjs/src/worker/types/worker-thread.js +26 -0
  13. package/dist/cjs/src/worker/types/worker-thread.js.map +1 -0
  14. package/dist/cjs/src/worker/types/worker.js +1 -17
  15. package/dist/cjs/src/worker/types/worker.js.map +1 -1
  16. package/dist/cjs/src/worker/worker-callable.js +8 -7
  17. package/dist/cjs/src/worker/worker-callable.js.map +1 -1
  18. package/dist/cjs/src/worker/worker-resource-group.js +4 -5
  19. package/dist/cjs/src/worker/worker-resource-group.js.map +1 -1
  20. package/dist/cjs/src/worker/worker-runnable.js +9 -16
  21. package/dist/cjs/src/worker/worker-runnable.js.map +1 -1
  22. package/dist/cjs/src/worker/worker-thread/worker-thread-callable.js +29 -0
  23. package/dist/cjs/src/worker/worker-thread/worker-thread-callable.js.map +1 -0
  24. package/dist/cjs/src/worker/worker-thread/worker-thread-message.js +33 -0
  25. package/dist/cjs/src/worker/worker-thread/worker-thread-message.js.map +1 -0
  26. package/dist/cjs/src/worker/worker-thread/worker-thread-runnable.js +45 -0
  27. package/dist/cjs/src/worker/worker-thread/worker-thread-runnable.js.map +1 -0
  28. package/dist/cjs/src/worker/worker-thread/worker-thread.js +79 -0
  29. package/dist/cjs/src/worker/worker-thread/worker-thread.js.map +1 -0
  30. package/dist/cjs/src/worker/worker.js +13 -10
  31. package/dist/cjs/src/worker/worker.js.map +1 -1
  32. package/dist/esm/src/env/environment.js +6 -2
  33. package/dist/esm/src/env/environment.js.map +1 -1
  34. package/dist/esm/src/event-bus/event-bus-redis.js +1 -1
  35. package/dist/esm/src/event-bus/event-bus.js +1 -1
  36. package/dist/esm/src/redis-client/clients/ioredis-client.js +1 -1
  37. package/dist/esm/src/redis-client/clients/node-redis-client.js +1 -1
  38. package/dist/esm/src/worker/errors/worker-thread.error.js +2 -2
  39. package/dist/esm/src/worker/errors/worker-thread.error.js.map +1 -1
  40. package/dist/esm/src/worker/types/index.js +1 -0
  41. package/dist/esm/src/worker/types/index.js.map +1 -1
  42. package/dist/esm/src/worker/types/worker-thread.js +23 -0
  43. package/dist/esm/src/worker/types/worker-thread.js.map +1 -0
  44. package/dist/esm/src/worker/types/worker.js +0 -16
  45. package/dist/esm/src/worker/types/worker.js.map +1 -1
  46. package/dist/esm/src/worker/worker-callable.js +6 -2
  47. package/dist/esm/src/worker/worker-callable.js.map +1 -1
  48. package/dist/esm/src/worker/worker-resource-group.js +4 -5
  49. package/dist/esm/src/worker/worker-resource-group.js.map +1 -1
  50. package/dist/esm/src/worker/worker-runnable.js +10 -17
  51. package/dist/esm/src/worker/worker-runnable.js.map +1 -1
  52. package/dist/esm/src/worker/worker-thread/worker-thread-callable.js +25 -0
  53. package/dist/esm/src/worker/worker-thread/worker-thread-callable.js.map +1 -0
  54. package/dist/esm/src/worker/worker-thread/worker-thread-message.js +28 -0
  55. package/dist/esm/src/worker/worker-thread/worker-thread-message.js.map +1 -0
  56. package/dist/esm/src/worker/worker-thread/worker-thread-runnable.js +41 -0
  57. package/dist/esm/src/worker/worker-thread/worker-thread-runnable.js.map +1 -0
  58. package/dist/esm/src/worker/worker-thread/worker-thread.js +54 -0
  59. package/dist/esm/src/worker/worker-thread/worker-thread.js.map +1 -0
  60. package/dist/esm/src/worker/worker.js +15 -11
  61. package/dist/esm/src/worker/worker.js.map +1 -1
  62. package/dist/types/src/env/environment.d.ts.map +1 -1
  63. package/dist/types/src/event-bus/event-bus-redis.d.ts +1 -1
  64. package/dist/types/src/event-bus/event-bus.d.ts +1 -1
  65. package/dist/types/src/event-bus/types/event-bus.d.ts +1 -1
  66. package/dist/types/src/redis-client/clients/ioredis-client.d.ts +1 -1
  67. package/dist/types/src/redis-client/clients/node-redis-client.d.ts +1 -1
  68. package/dist/types/src/redis-client/clients/redis-client-abstract.d.ts +1 -1
  69. package/dist/types/src/redis-client/types/redis-client.d.ts +1 -1
  70. package/dist/types/src/worker/errors/worker-thread.error.d.ts +2 -2
  71. package/dist/types/src/worker/errors/worker-thread.error.d.ts.map +1 -1
  72. package/dist/types/src/worker/types/index.d.ts +1 -0
  73. package/dist/types/src/worker/types/index.d.ts.map +1 -1
  74. package/dist/types/src/worker/types/worker-thread.d.ts +47 -0
  75. package/dist/types/src/worker/types/worker-thread.d.ts.map +1 -0
  76. package/dist/types/src/worker/types/worker.d.ts +7 -32
  77. package/dist/types/src/worker/types/worker.d.ts.map +1 -1
  78. package/dist/types/src/worker/worker-callable.d.ts +2 -1
  79. package/dist/types/src/worker/worker-callable.d.ts.map +1 -1
  80. package/dist/types/src/worker/worker-resource-group.d.ts +1 -4
  81. package/dist/types/src/worker/worker-resource-group.d.ts.map +1 -1
  82. package/dist/types/src/worker/worker-runnable.d.ts +4 -4
  83. package/dist/types/src/worker/worker-runnable.d.ts.map +1 -1
  84. package/dist/types/src/worker/worker-thread/worker-thread-callable.d.ts +5 -0
  85. package/dist/types/src/worker/worker-thread/worker-thread-callable.d.ts.map +1 -0
  86. package/dist/types/src/worker/worker-thread/worker-thread-message.d.ts +6 -0
  87. package/dist/types/src/worker/worker-thread/worker-thread-message.d.ts.map +1 -0
  88. package/dist/types/src/worker/worker-thread/worker-thread-runnable.d.ts +5 -0
  89. package/dist/types/src/worker/worker-thread/worker-thread-runnable.d.ts.map +1 -0
  90. package/dist/types/src/worker/worker-thread/worker-thread.d.ts.map +1 -0
  91. package/dist/types/src/worker/worker.d.ts +7 -6
  92. package/dist/types/src/worker/worker.d.ts.map +1 -1
  93. package/package.json +5 -4
  94. package/dist/cjs/src/worker/worker-thread.js +0 -114
  95. package/dist/cjs/src/worker/worker-thread.js.map +0 -1
  96. package/dist/esm/src/worker/worker-thread.js +0 -89
  97. package/dist/esm/src/worker/worker-thread.js.map +0 -1
  98. package/dist/types/src/worker/worker-thread.d.ts.map +0 -1
  99. /package/dist/types/src/worker/{worker-thread.d.ts → worker-thread/worker-thread.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
 
2
2
 
3
+ ## [3.0.0-rc.14](https://github.com/weyoss/redis-smq-common/compare/v3.0.0-rc.13...v3.0.0-rc.14) (2024-03-23)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * rewrite and optimize worker logic, clean up
9
+
10
+ ### Bug Fixes
11
+
12
+ * strip 'file://' from filename ([39367b0](https://github.com/weyoss/redis-smq-common/commit/39367b01b19e2f5d5cdadb20d68d95dc9ab3f72e))
13
+
14
+
15
+ ### Documentation
16
+
17
+ * update API reference ([e79899a](https://github.com/weyoss/redis-smq-common/commit/e79899a6316d14042bee5eaa94be86f6816833e6))
18
+
19
+
20
+ ### Codebase Refactoring
21
+
22
+ * rewrite and optimize worker logic, clean up ([f9120de](https://github.com/weyoss/redis-smq-common/commit/f9120de0bc45929ab19aa4eb724ebc3b6159a0b3))
23
+
3
24
  ## [3.0.0-rc.13](https://github.com/weyoss/redis-smq-common/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2024-03-08)
4
25
 
5
26
 
@@ -16,8 +16,12 @@ function getDirname() {
16
16
  Error.prepareStackTrace = prepareStackTrace;
17
17
  if (isStackTraces(stack)) {
18
18
  const filename = stack[1].getFileName();
19
- if (filename)
20
- return (0, path_1.dirname)(filename);
19
+ if (filename) {
20
+ const cleanFilename = filename.startsWith('file://')
21
+ ? filename.substring(7)
22
+ : filename;
23
+ return (0, path_1.dirname)(cleanFilename);
24
+ }
21
25
  }
22
26
  throw new panic_error_js_1.PanicError(`Could not get current dir`);
23
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../src/env/environment.ts"],"names":[],"mappings":";;;AASA,6DAAsD;AACtD,+BAA+B;AAE/B,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,KAAK,CAAC,iBAAiB,GAAG,CACxB,GAAU,EACV,WAA8B,EACX,EAAE;QACrB,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,MAAM,KAAK,GAAY,GAAG,CAAC,KAAK,CAAC;IACjC,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,QAAQ;YAAE,OAAO,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC;KACxC;IACD,MAAM,IAAI,2BAAU,CAAC,2BAA2B,CAAC,CAAC;AACpD,CAAC;AAhBD,gCAgBC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../src/env/environment.ts"],"names":[],"mappings":";;;AASA,6DAAsD;AACtD,+BAA+B;AAE/B,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,KAAK,CAAC,iBAAiB,GAAG,CACxB,GAAU,EACV,WAA8B,EACX,EAAE;QACrB,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,MAAM,KAAK,GAAY,GAAG,CAAC,KAAK,CAAC;IACjC,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,QAAQ,EAAE;YACZ,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;gBAClD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,QAAQ,CAAC;YACb,OAAO,IAAA,cAAO,EAAC,aAAa,CAAC,CAAC;SAC/B;KACF;IACD,MAAM,IAAI,2BAAU,CAAC,2BAA2B,CAAC,CAAC;AACpD,CAAC;AArBD,gCAqBC"}
@@ -84,7 +84,7 @@ class EventBusRedis extends index_js_3.EventEmitter {
84
84
  super.removeListener(event, listener);
85
85
  return this;
86
86
  }
87
- shutDown(cb) {
87
+ shutdown(cb) {
88
88
  if (this.connected) {
89
89
  index_js_1.async.waterfall([
90
90
  (cb) => this.subClient.halt(() => cb()),
@@ -64,7 +64,7 @@ class EventBus extends event_emitter_js_1.EventEmitter {
64
64
  super.removeListener(event, listener);
65
65
  return this;
66
66
  }
67
- shutDown(cb) {
67
+ shutdown(cb) {
68
68
  if (this.connected)
69
69
  this.connected = false;
70
70
  cb();
@@ -246,7 +246,7 @@ class IoredisClient extends redis_client_abstract_js_1.RedisClientAbstract {
246
246
  this.client.disconnect(false);
247
247
  }
248
248
  }
249
- shutDown(cb = () => void 0) {
249
+ shutdown(cb = () => void 0) {
250
250
  if (!this.connectionClosed) {
251
251
  this.client.once('end', cb);
252
252
  this.client.quit();
@@ -341,7 +341,7 @@ class NodeRedisClient extends redis_client_abstract_js_1.RedisClientAbstract {
341
341
  this.client.disconnect().catch(() => void 0);
342
342
  }
343
343
  }
344
- shutDown(cb = () => void 0) {
344
+ shutdown(cb = () => void 0) {
345
345
  if (!this.connectionClosed) {
346
346
  this.client.once('end', cb);
347
347
  this.client.quit();
@@ -7,7 +7,7 @@ class WorkerThreadError extends worker_error_js_1.WorkerError {
7
7
  constructor(msg) {
8
8
  var _a;
9
9
  const { code, error } = msg;
10
- const messageStr = `Error code: ${(_a = index_js_1.EWorkerThreadExitCode[code]) !== null && _a !== void 0 ? _a : index_js_1.EWorkerThreadExecutionCode[code]}.${error ? ` Cause: ${error.name}(${error.message})` : ''}`;
10
+ const messageStr = `Error code: ${(_a = index_js_1.EWorkerThreadChildExitCode[code]) !== null && _a !== void 0 ? _a : index_js_1.EWorkerThreadChildExecutionCode[code]}.${error ? ` Cause: ${error.name}(${error.message})` : ''}`;
11
11
  super(messageStr);
12
12
  }
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-thread.error.js","sourceRoot":"","sources":["../../../../../src/worker/errors/worker-thread.error.ts"],"names":[],"mappings":";;;AASA,gDAI2B;AAC3B,uDAAgD;AAEhD,MAAa,iBAAkB,SAAQ,6BAAW;IAChD,YAAY,GAAyB;;QACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAC5B,MAAM,UAAU,GAAG,eACjB,MAAA,gCAAqB,CAAC,IAAI,CAAC,mCAAI,qCAA0B,CAAC,IAAI,CAChE,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7D,KAAK,CAAC,UAAU,CAAC,CAAC;IACpB,CAAC;CACF;AARD,8CAQC"}
1
+ {"version":3,"file":"worker-thread.error.js","sourceRoot":"","sources":["../../../../../src/worker/errors/worker-thread.error.ts"],"names":[],"mappings":";;;AASA,gDAI2B;AAC3B,uDAAgD;AAEhD,MAAa,iBAAkB,SAAQ,6BAAW;IAChD,YAAY,GAA8B;;QACxC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAC5B,MAAM,UAAU,GAAG,eACjB,MAAA,qCAA0B,CAAC,IAAI,CAAC,mCAAI,0CAA+B,CAAC,IAAI,CAC1E,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7D,KAAK,CAAC,UAAU,CAAC,CAAC;IACpB,CAAC;CACF;AARD,8CAQC"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./worker.js"), exports);
18
+ __exportStar(require("./worker-thread.js"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/worker/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/worker/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,8CAA4B;AAC5B,qDAAmC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EWorkerThreadParentMessage = exports.EWorkerThreadChildExecutionCode = exports.EWorkerThreadChildExitCode = void 0;
4
+ var EWorkerThreadChildExitCode;
5
+ (function (EWorkerThreadChildExitCode) {
6
+ EWorkerThreadChildExitCode[EWorkerThreadChildExitCode["WORKER_DATA_REQUIRED"] = 100] = "WORKER_DATA_REQUIRED";
7
+ EWorkerThreadChildExitCode[EWorkerThreadChildExitCode["INVALID_WORKER_TYPE"] = 101] = "INVALID_WORKER_TYPE";
8
+ EWorkerThreadChildExitCode[EWorkerThreadChildExitCode["FILE_IMPORT_ERROR"] = 102] = "FILE_IMPORT_ERROR";
9
+ EWorkerThreadChildExitCode[EWorkerThreadChildExitCode["UNCAUGHT_EXCEPTION"] = 103] = "UNCAUGHT_EXCEPTION";
10
+ EWorkerThreadChildExitCode[EWorkerThreadChildExitCode["FILE_EXTENSION_ERROR"] = 104] = "FILE_EXTENSION_ERROR";
11
+ EWorkerThreadChildExitCode[EWorkerThreadChildExitCode["FILE_READ_ERROR"] = 105] = "FILE_READ_ERROR";
12
+ EWorkerThreadChildExitCode[EWorkerThreadChildExitCode["TERMINATED"] = 106] = "TERMINATED";
13
+ })(EWorkerThreadChildExitCode = exports.EWorkerThreadChildExitCode || (exports.EWorkerThreadChildExitCode = {}));
14
+ var EWorkerThreadChildExecutionCode;
15
+ (function (EWorkerThreadChildExecutionCode) {
16
+ EWorkerThreadChildExecutionCode[EWorkerThreadChildExecutionCode["OK"] = 200] = "OK";
17
+ EWorkerThreadChildExecutionCode[EWorkerThreadChildExecutionCode["PROCESSING_ERROR"] = 201] = "PROCESSING_ERROR";
18
+ EWorkerThreadChildExecutionCode[EWorkerThreadChildExecutionCode["PROCESSING_CAUGHT_ERROR"] = 202] = "PROCESSING_CAUGHT_ERROR";
19
+ })(EWorkerThreadChildExecutionCode = exports.EWorkerThreadChildExecutionCode || (exports.EWorkerThreadChildExecutionCode = {}));
20
+ var EWorkerThreadParentMessage;
21
+ (function (EWorkerThreadParentMessage) {
22
+ EWorkerThreadParentMessage[EWorkerThreadParentMessage["CALL"] = 0] = "CALL";
23
+ EWorkerThreadParentMessage[EWorkerThreadParentMessage["RUN"] = 1] = "RUN";
24
+ EWorkerThreadParentMessage[EWorkerThreadParentMessage["SHUTDOWN"] = 2] = "SHUTDOWN";
25
+ })(EWorkerThreadParentMessage = exports.EWorkerThreadParentMessage || (exports.EWorkerThreadParentMessage = {}));
26
+ //# sourceMappingURL=worker-thread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-thread.js","sourceRoot":"","sources":["../../../../../src/worker/types/worker-thread.ts"],"names":[],"mappings":";;;AAiBA,IAAY,0BAQX;AARD,WAAY,0BAA0B;IACpC,6GAA0B,CAAA;IAC1B,2GAAmB,CAAA;IACnB,uGAAiB,CAAA;IACjB,yGAAkB,CAAA;IAClB,6GAAoB,CAAA;IACpB,mGAAe,CAAA;IACf,yFAAU,CAAA;AACZ,CAAC,EARW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAQrC;AAED,IAAY,+BAIX;AAJD,WAAY,+BAA+B;IACzC,mFAAQ,CAAA;IACR,+GAAgB,CAAA;IAChB,6HAAuB,CAAA;AACzB,CAAC,EAJW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAI1C;AAiBD,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,2EAAI,CAAA;IACJ,yEAAG,CAAA;IACH,mFAAQ,CAAA;AACV,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC"}
@@ -1,25 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EWorkerThreadExecutionCode = exports.EWorkerThreadExitCode = exports.EWorkerType = void 0;
3
+ exports.EWorkerType = void 0;
4
4
  var EWorkerType;
5
5
  (function (EWorkerType) {
6
6
  EWorkerType[EWorkerType["CALLABLE"] = 0] = "CALLABLE";
7
7
  EWorkerType[EWorkerType["RUNNABLE"] = 1] = "RUNNABLE";
8
8
  })(EWorkerType = exports.EWorkerType || (exports.EWorkerType = {}));
9
- var EWorkerThreadExitCode;
10
- (function (EWorkerThreadExitCode) {
11
- EWorkerThreadExitCode[EWorkerThreadExitCode["WORKER_DATA_REQUIRED"] = 100] = "WORKER_DATA_REQUIRED";
12
- EWorkerThreadExitCode[EWorkerThreadExitCode["INVALID_WORKER_TYPE"] = 101] = "INVALID_WORKER_TYPE";
13
- EWorkerThreadExitCode[EWorkerThreadExitCode["FILE_IMPORT_ERROR"] = 102] = "FILE_IMPORT_ERROR";
14
- EWorkerThreadExitCode[EWorkerThreadExitCode["UNCAUGHT_EXCEPTION"] = 103] = "UNCAUGHT_EXCEPTION";
15
- EWorkerThreadExitCode[EWorkerThreadExitCode["FILE_EXTENSION_ERROR"] = 104] = "FILE_EXTENSION_ERROR";
16
- EWorkerThreadExitCode[EWorkerThreadExitCode["FILE_READ_ERROR"] = 105] = "FILE_READ_ERROR";
17
- EWorkerThreadExitCode[EWorkerThreadExitCode["TERMINATED"] = 106] = "TERMINATED";
18
- })(EWorkerThreadExitCode = exports.EWorkerThreadExitCode || (exports.EWorkerThreadExitCode = {}));
19
- var EWorkerThreadExecutionCode;
20
- (function (EWorkerThreadExecutionCode) {
21
- EWorkerThreadExecutionCode[EWorkerThreadExecutionCode["OK"] = 200] = "OK";
22
- EWorkerThreadExecutionCode[EWorkerThreadExecutionCode["PROCESSING_ERROR"] = 201] = "PROCESSING_ERROR";
23
- EWorkerThreadExecutionCode[EWorkerThreadExecutionCode["PROCESSING_CAUGHT_ERROR"] = 202] = "PROCESSING_CAUGHT_ERROR";
24
- })(EWorkerThreadExecutionCode = exports.EWorkerThreadExecutionCode || (exports.EWorkerThreadExecutionCode = {}));
25
9
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../../src/worker/types/worker.ts"],"names":[],"mappings":";;;AAWA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,qDAAQ,CAAA;IACR,qDAAQ,CAAA;AACV,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAkBD,IAAY,qBAQX;AARD,WAAY,qBAAqB;IAC/B,mGAA0B,CAAA;IAC1B,iGAAmB,CAAA;IACnB,6FAAiB,CAAA;IACjB,+FAAkB,CAAA;IAClB,mGAAoB,CAAA;IACpB,yFAAe,CAAA;IACf,+EAAU,CAAA;AACZ,CAAC,EARW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAQhC;AAED,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,yEAAQ,CAAA;IACR,qGAAgB,CAAA;IAChB,mHAAuB,CAAA;AACzB,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../../src/worker/types/worker.ts"],"names":[],"mappings":";;;AAWA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,qDAAQ,CAAA;IACR,qDAAQ,CAAA;AACV,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB"}
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorkerCallable = void 0;
4
- const index_js_1 = require("./types/index.js");
5
- const index_js_2 = require("./errors/index.js");
4
+ const index_js_1 = require("./errors/index.js");
5
+ const index_js_2 = require("./types/index.js");
6
6
  const worker_js_1 = require("./worker.js");
7
7
  class WorkerCallable extends worker_js_1.Worker {
8
- constructor() {
9
- super(...arguments);
10
- this.type = index_js_1.EWorkerType.CALLABLE;
8
+ constructor(workerFilename) {
9
+ super(workerFilename);
10
+ this.type = index_js_2.EWorkerType.CALLABLE;
11
11
  }
12
12
  call(payload, cb) {
13
13
  if (payload === null || payload === undefined) {
14
- cb(new index_js_2.WorkerPayloadRequiredError());
14
+ cb(new index_js_1.WorkerPayloadRequiredError());
15
15
  }
16
16
  else {
17
- this.exec(payload, cb);
17
+ this.registerEvents(cb);
18
+ this.postMessage({ type: index_js_2.EWorkerThreadParentMessage.CALL, payload });
18
19
  }
19
20
  }
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-callable.js","sourceRoot":"","sources":["../../../../src/worker/worker-callable.ts"],"names":[],"mappings":";;;AAUA,+CAAgE;AAChE,gDAA+D;AAC/D,2CAAqC;AAErC,MAAa,cACX,SAAQ,kBAAM;IADhB;;QAIqB,SAAI,GAAgB,sBAAW,CAAC,QAAQ,CAAC;IAU9D,CAAC;IARC,IAAI,CAAC,OAAgB,EAAE,EAAoB;QACzC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC7C,EAAE,CAAC,IAAI,qCAA0B,EAAE,CAAC,CAAC;SACtC;aAAM;YAEL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACxB;IACH,CAAC;CACF;AAdD,wCAcC"}
1
+ {"version":3,"file":"worker-callable.js","sourceRoot":"","sources":["../../../../src/worker/worker-callable.ts"],"names":[],"mappings":";;;AAUA,gDAA+D;AAC/D,+CAI0B;AAC1B,2CAAqC;AAErC,MAAa,cACX,SAAQ,kBAAsB;IAK9B,YAAY,cAAsB;QAChC,KAAK,CAAC,cAAc,CAAC,CAAC;QAHL,SAAI,GAAgB,sBAAW,CAAC,QAAQ,CAAC;IAI5D,CAAC;IAED,IAAI,CAAC,OAAgB,EAAE,EAAoB;QACzC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC7C,EAAE,CAAC,IAAI,qCAA0B,EAAE,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,qCAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SACtE;IACH,CAAC;CACF;AAlBD,wCAkBC"}
@@ -31,8 +31,7 @@ class WorkerResourceGroup extends index_js_4.Runnable {
31
31
  if (!this.runWorkersLocked) {
32
32
  this.runWorkersLocked = true;
33
33
  index_js_1.async.each(this.workers, (worker, _, done) => {
34
- const { instance, payload } = worker;
35
- instance.run(payload, done);
34
+ worker.run(done);
36
35
  }, (err) => {
37
36
  this.runWorkersLocked = false;
38
37
  cb(err);
@@ -45,7 +44,7 @@ class WorkerResourceGroup extends index_js_4.Runnable {
45
44
  if (!this.runWorkersLocked) {
46
45
  this.runWorkersLocked = true;
47
46
  index_js_1.async.each(this.workers, (worker, _, done) => {
48
- worker.instance.shutDown(() => done());
47
+ worker.shutdown(() => done());
49
48
  }, () => {
50
49
  this.workers = [];
51
50
  this.runWorkersLocked = false;
@@ -59,9 +58,9 @@ class WorkerResourceGroup extends index_js_4.Runnable {
59
58
  this.locker.releaseLock(cb);
60
59
  };
61
60
  this.addWorker = (filename, payload) => {
62
- const worker = new worker_runnable_js_1.WorkerRunnable(filename);
61
+ const worker = new worker_runnable_js_1.WorkerRunnable(filename, payload);
63
62
  worker.on('worker.error', (err) => this.handleError(err));
64
- this.workers.push({ instance: worker, payload });
63
+ this.workers.push(worker);
65
64
  };
66
65
  this.loadFromDir = (workersDir, payload, cb) => {
67
66
  if (this.isDown() && !this.isGoingUp()) {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-resource-group.js","sourceRoot":"","sources":["../../../../src/worker/worker-resource-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-resource-group.js","sourceRoot":"","sources":["../../../../src/worker/worker-resource-group.ts"],"names":[],"mappings":"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"}
@@ -6,33 +6,26 @@ const power_switch_js_1 = require("../power-switch/power-switch.js");
6
6
  const index_js_2 = require("./errors/index.js");
7
7
  const worker_js_1 = require("./worker.js");
8
8
  class WorkerRunnable extends worker_js_1.Worker {
9
- constructor(workerFilename) {
10
- super(workerFilename);
9
+ constructor(workerFilename, initialPayload) {
10
+ super(workerFilename, initialPayload);
11
11
  this.type = index_js_1.EWorkerType.RUNNABLE;
12
12
  this.powerSwitch = new power_switch_js_1.PowerSwitch();
13
13
  }
14
- run(initialPayload, cb) {
14
+ run(cb) {
15
15
  const r = this.powerSwitch.goingUp();
16
16
  if (r) {
17
- this.exec(initialPayload, (err) => {
18
- if (err) {
19
- this.powerSwitch.rollback();
20
- cb(err);
21
- }
22
- else {
23
- this.powerSwitch.commit();
24
- this.registerEvents(this);
25
- cb();
26
- }
27
- });
17
+ this.registerEvents(this);
18
+ this.postMessage({ type: index_js_1.EWorkerThreadParentMessage.RUN });
19
+ this.powerSwitch.commit();
20
+ cb();
28
21
  }
29
22
  else
30
23
  cb(new index_js_2.WorkerAlreadyRunningError());
31
24
  }
32
- shutDown(cb) {
25
+ shutdown(cb) {
33
26
  const r = this.powerSwitch.goingDown();
34
27
  if (r) {
35
- super.shutDown(() => {
28
+ super.shutdown(() => {
36
29
  this.powerSwitch.commit();
37
30
  cb();
38
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"worker-runnable.js","sourceRoot":"","sources":["../../../../src/worker/worker-runnable.ts"],"names":[],"mappings":";;;AAUA,+CAAgE;AAChE,qEAA8D;AAC9D,gDAG2B;AAC3B,2CAAqC;AAErC,MAAa,cACX,SAAQ,kBAAM;IAMd,YAAY,cAAsB;QAChC,KAAK,CAAC,cAAc,CAAC,CAAC;QAJL,SAAI,GAAgB,sBAAW,CAAC,QAAQ,CAAC;QAK1D,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAW,EAAE,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,cAAuB,EAAE,EAAmB;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChC,IAAI,GAAG,EAAE;oBACP,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBAC5B,EAAE,CAAC,GAAG,CAAC,CAAC;iBACT;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC1B,EAAE,EAAE,CAAC;iBACN;YACH,CAAC,CAAC,CAAC;SACJ;;YAAM,EAAE,CAAC,IAAI,oCAAyB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEQ,QAAQ,CAAC,EAAmB;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,EAAE;YACL,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,EAAE,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;SACJ;;YAAM,EAAE,CAAC,IAAI,iCAAsB,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AArCD,wCAqCC"}
1
+ {"version":3,"file":"worker-runnable.js","sourceRoot":"","sources":["../../../../src/worker/worker-runnable.ts"],"names":[],"mappings":";;;AAUA,+CAI0B;AAC1B,qEAA8D;AAC9D,gDAG2B;AAC3B,2CAAqC;AAErC,MAAa,cACX,SAAQ,kBAAkB;IAM1B,YAAY,cAAsB,EAAE,cAA+B;QACjE,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAJrB,SAAI,GAAgB,sBAAW,CAAC,QAAQ,CAAC;QAK1D,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAW,EAAE,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,EAAmB;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,qCAA0B,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1B,EAAE,EAAE,CAAC;SACN;;YAAM,EAAE,CAAC,IAAI,oCAAyB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEQ,QAAQ,CAAC,EAAmB;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,EAAE;YACL,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,EAAE,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;SACJ;;YAAM,EAAE,CAAC,IAAI,iCAAsB,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AA/BD,wCA+BC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleWorkerCallable = void 0;
4
+ const index_js_1 = require("../types/index.js");
5
+ const worker_thread_message_js_1 = require("./worker-thread-message.js");
6
+ function handleWorkerCallable(worker, messagePort) {
7
+ const callback = (err, reply) => {
8
+ if (err) {
9
+ (0, worker_thread_message_js_1.postMessage)(messagePort, index_js_1.EWorkerThreadChildExecutionCode.PROCESSING_ERROR, err);
10
+ }
11
+ else {
12
+ (0, worker_thread_message_js_1.postMessage)(messagePort, index_js_1.EWorkerThreadChildExecutionCode.OK, null, reply);
13
+ }
14
+ };
15
+ const onMessage = (message) => {
16
+ if (message.type === index_js_1.EWorkerThreadParentMessage.CALL) {
17
+ const { payload } = message;
18
+ try {
19
+ worker(payload, callback);
20
+ }
21
+ catch (err) {
22
+ (0, worker_thread_message_js_1.postMessage)(messagePort, index_js_1.EWorkerThreadChildExecutionCode.PROCESSING_CAUGHT_ERROR, err);
23
+ }
24
+ }
25
+ };
26
+ messagePort.on('message', onMessage);
27
+ }
28
+ exports.handleWorkerCallable = handleWorkerCallable;
29
+ //# sourceMappingURL=worker-thread-callable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-thread-callable.js","sourceRoot":"","sources":["../../../../../src/worker/worker-thread/worker-thread-callable.ts"],"names":[],"mappings":";;;AAUA,gDAK2B;AAC3B,yEAAyD;AAEzD,SAAgB,oBAAoB,CAClC,MAA+B,EAC/B,WAAwB;IAExB,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,GAAG,EAAE;YACP,IAAA,sCAAW,EACT,WAAW,EACX,0CAA+B,CAAC,gBAAgB,EAChD,GAAG,CACJ,CAAC;SACH;aAAM;YACL,IAAA,sCAAW,EAAC,WAAW,EAAE,0CAA+B,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SAC3E;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,OAAO,CAAC,IAAI,KAAK,qCAA0B,CAAC,IAAI,EAAE;YACpD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B,IAAI;gBACF,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aAC3B;YAAC,OAAO,GAAY,EAAE;gBACrB,IAAA,sCAAW,EACT,WAAW,EACX,0CAA+B,CAAC,uBAAuB,EACvD,GAAG,CACJ,CAAC;aACH;SACF;IACH,CAAC,CAAC;IACF,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AA9BD,oDA8BC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exit = exports.postMessage = void 0;
4
+ const worker_threads_1 = require("worker_threads");
5
+ const worker_thread_js_1 = require("../types/worker-thread.js");
6
+ function formatErrorMessage(code, err) {
7
+ const error = err && err instanceof Error
8
+ ? { name: err.name, message: err.message }
9
+ : null;
10
+ return {
11
+ code,
12
+ error,
13
+ };
14
+ }
15
+ function formatOKMessage(data) {
16
+ return {
17
+ code: worker_thread_js_1.EWorkerThreadChildExecutionCode.OK,
18
+ data,
19
+ };
20
+ }
21
+ function postMessage(messagePort, code, err, data) {
22
+ const msg = code === worker_thread_js_1.EWorkerThreadChildExecutionCode.OK
23
+ ? formatOKMessage(data)
24
+ : formatErrorMessage(code, err);
25
+ messagePort.postMessage(msg);
26
+ }
27
+ exports.postMessage = postMessage;
28
+ function exit(code, err) {
29
+ worker_threads_1.parentPort && postMessage(worker_threads_1.parentPort, code, err);
30
+ process.exit(code);
31
+ }
32
+ exports.exit = exit;
33
+ //# sourceMappingURL=worker-thread-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-thread-message.js","sourceRoot":"","sources":["../../../../../src/worker/worker-thread/worker-thread-message.ts"],"names":[],"mappings":";;;AAQA,mDAAyD;AACzD,gEAImC;AAEnC,SAAS,kBAAkB,CACzB,IAAmC,EACnC,GAAa;IAEb,MAAM,KAAK,GACT,GAAG,IAAI,GAAG,YAAY,KAAK;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;QAC1C,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACL,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAc;IACrC,OAAO;QACL,IAAI,EAAE,kDAA+B,CAAC,EAAE;QACxC,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CACzB,WAAwB,EACxB,IAAmC,EACnC,GAAa,EACb,IAAc;IAEd,MAAM,GAAG,GACP,IAAI,KAAK,kDAA+B,CAAC,EAAE;QACzC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAXD,kCAWC;AAED,SAAgB,IAAI,CAAC,IAAmC,EAAE,GAAa;IACrE,2BAAU,IAAI,WAAW,CAAC,2BAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAHD,oBAGC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleWorkerRunnable = void 0;
4
+ const index_js_1 = require("../types/index.js");
5
+ const worker_thread_message_js_1 = require("./worker-thread-message.js");
6
+ function handleWorkerRunnable(worker, messagePort, initialPayload) {
7
+ let instance = null;
8
+ try {
9
+ instance = worker(initialPayload);
10
+ }
11
+ catch (err) {
12
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.INVALID_WORKER_TYPE, err);
13
+ }
14
+ if (!instance ||
15
+ typeof instance !== 'object' ||
16
+ !(instance === null || instance === void 0 ? void 0 : instance.run) ||
17
+ !(instance === null || instance === void 0 ? void 0 : instance.shutdown)) {
18
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.INVALID_WORKER_TYPE);
19
+ }
20
+ else {
21
+ const run = () => {
22
+ try {
23
+ instance === null || instance === void 0 ? void 0 : instance.run((err) => {
24
+ if (err)
25
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExecutionCode.PROCESSING_ERROR, err);
26
+ });
27
+ }
28
+ catch (err) {
29
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExecutionCode.PROCESSING_CAUGHT_ERROR, err);
30
+ }
31
+ };
32
+ const shutdown = () => {
33
+ instance === null || instance === void 0 ? void 0 : instance.shutdown(() => void 0);
34
+ };
35
+ const onMessage = (message) => {
36
+ if (message.type === index_js_1.EWorkerThreadParentMessage.RUN)
37
+ run();
38
+ if (message.type === index_js_1.EWorkerThreadParentMessage.SHUTDOWN)
39
+ shutdown();
40
+ };
41
+ messagePort.on('message', onMessage);
42
+ }
43
+ }
44
+ exports.handleWorkerRunnable = handleWorkerRunnable;
45
+ //# sourceMappingURL=worker-thread-runnable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-thread-runnable.js","sourceRoot":"","sources":["../../../../../src/worker/worker-thread/worker-thread-runnable.ts"],"names":[],"mappings":";;;AAUA,gDAO2B;AAC3B,yEAAkD;AAElD,SAAgB,oBAAoB,CAClC,MAAsC,EACtC,WAAwB,EACxB,cAAuB;IAEvB,IAAI,QAAQ,GAA2B,IAAI,CAAC;IAC5C,IAAI;QACF,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;KACnC;IAAC,OAAO,GAAY,EAAE;QACrB,IAAA,+BAAI,EAAC,qCAA0B,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;KAC3D;IACD,IACE,CAAC,QAAQ;QACT,OAAO,QAAQ,KAAK,QAAQ;QAC5B,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAA;QACd,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAA,EACnB;QACA,IAAA,+BAAI,EAAC,qCAA0B,CAAC,mBAAmB,CAAC,CAAC;KACtD;SAAM;QACL,MAAM,GAAG,GAAG,GAAG,EAAE;YACf,IAAI;gBACF,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE;oBACrC,IAAI,GAAG;wBAAE,IAAA,+BAAI,EAAC,0CAA+B,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;aACJ;YAAC,OAAO,GAAY,EAAE;gBACrB,IAAA,+BAAI,EAAC,0CAA+B,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;aACpE;QACH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,OAAmC,EAAE,EAAE;YACxD,IAAI,OAAO,CAAC,IAAI,KAAK,qCAA0B,CAAC,GAAG;gBAAE,GAAG,EAAE,CAAC;YAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,qCAA0B,CAAC,QAAQ;gBAAE,QAAQ,EAAE,CAAC;QACvE,CAAC,CAAC;QACF,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KACtC;AACH,CAAC;AArCD,oDAqCC"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const fs_1 = require("fs");
27
+ const path_1 = require("path");
28
+ const worker_threads_1 = require("worker_threads");
29
+ const index_js_1 = require("../types/index.js");
30
+ const worker_thread_callable_js_1 = require("./worker-thread-callable.js");
31
+ const worker_thread_message_js_1 = require("./worker-thread-message.js");
32
+ const worker_thread_runnable_js_1 = require("./worker-thread-runnable.js");
33
+ function importWorkerInstance(filename, cb) {
34
+ var _a;
35
+ if (!['.js', '.cjs'].includes((0, path_1.extname)(filename))) {
36
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.FILE_EXTENSION_ERROR);
37
+ }
38
+ try {
39
+ (0, fs_1.statSync)(filename);
40
+ }
41
+ catch (e) {
42
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.FILE_READ_ERROR, e);
43
+ }
44
+ (_a = filename, Promise.resolve().then(() => __importStar(require(_a)))).then((importedModule) => {
45
+ const fn = typeof importedModule !== 'function' && importedModule.default
46
+ ? importedModule.default
47
+ : importedModule;
48
+ if (typeof fn !== 'function') {
49
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.INVALID_WORKER_TYPE);
50
+ }
51
+ else
52
+ cb(fn);
53
+ })
54
+ .catch(() => {
55
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.FILE_IMPORT_ERROR);
56
+ });
57
+ }
58
+ function isRunnableFunctionFactory(worker, type) {
59
+ return type === index_js_1.EWorkerType.RUNNABLE;
60
+ }
61
+ if (!worker_threads_1.isMainThread && worker_threads_1.parentPort) {
62
+ if (!worker_threads_1.workerData) {
63
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.WORKER_DATA_REQUIRED);
64
+ }
65
+ else {
66
+ const messagePort = worker_threads_1.parentPort;
67
+ const { filename, initialPayload, type } = worker_threads_1.workerData;
68
+ importWorkerInstance(filename, (worker) => {
69
+ if (isRunnableFunctionFactory(worker, type))
70
+ (0, worker_thread_runnable_js_1.handleWorkerRunnable)(worker, messagePort, initialPayload);
71
+ else
72
+ (0, worker_thread_callable_js_1.handleWorkerCallable)(worker, messagePort);
73
+ });
74
+ }
75
+ process.on('uncaughtException', (err) => {
76
+ (0, worker_thread_message_js_1.exit)(index_js_1.EWorkerThreadChildExitCode.UNCAUGHT_EXCEPTION, err);
77
+ });
78
+ }
79
+ //# sourceMappingURL=worker-thread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-thread.js","sourceRoot":"","sources":["../../../../../src/worker/worker-thread/worker-thread.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AASA,2BAA8B;AAC9B,+BAA+B;AAC/B,mDAMwB;AACxB,gDAM2B;AAC3B,2EAAmE;AACnE,yEAAkD;AAClD,2EAAmE;AAEnE,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,EAAqC;;IAErC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC,EAAE;QAChD,IAAA,+BAAI,EAAC,qCAA0B,CAAC,oBAAoB,CAAC,CAAC;KACvD;IACD,IAAI;QACF,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAC;KACpB;IAAC,OAAO,CAAU,EAAE;QACnB,IAAA,+BAAI,EAAC,qCAA0B,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;KACrD;IACD,MAAO,QAAQ,2DACZ,IAAI,CAAC,CAAC,cAA+D,EAAE,EAAE;QACxE,MAAM,EAAE,GACN,OAAO,cAAc,KAAK,UAAU,IAAI,cAAc,CAAC,OAAO;YAC5D,CAAC,CAAC,cAAc,CAAC,OAAO;YACxB,CAAC,CAAC,cAAc,CAAC;QACrB,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC5B,IAAA,+BAAI,EAAC,qCAA0B,CAAC,mBAAmB,CAAC,CAAC;SACtD;;YAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,IAAA,+BAAI,EAAC,qCAA0B,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAuB,EACvB,IAAiB;IAEjB,OAAO,IAAI,KAAK,sBAAW,CAAC,QAAQ,CAAC;AACvC,CAAC;AAED,IAAI,CAAC,6BAAY,IAAI,2BAAU,EAAE;IAE/B,IAAI,CAAC,2BAAU,EAAE;QACf,IAAA,+BAAI,EAAC,qCAA0B,CAAC,oBAAoB,CAAC,CAAC;KACvD;SAAM;QACL,MAAM,WAAW,GAAgB,2BAAU,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,GAAsB,2BAAU,CAAC;QACzE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC;gBACzC,IAAA,gDAAoB,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;;gBACvD,IAAA,gDAAoB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,IAAA,+BAAI,EAAC,qCAA0B,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;CACJ"}
@@ -9,15 +9,20 @@ const index_js_2 = require("../event/index.js");
9
9
  const index_js_3 = require("./errors/index.js");
10
10
  const dir = (0, environment_js_1.getDirname)();
11
11
  class Worker extends index_js_2.EventEmitter {
12
- constructor(workerFilename) {
12
+ constructor(workerFilename, initialPayload) {
13
13
  super();
14
14
  this.workerThread = null;
15
15
  this.workerFilename = workerFilename;
16
+ this.initialPayload = initialPayload;
16
17
  }
17
18
  getWorkerThread() {
18
19
  if (!this.workerThread) {
19
- this.workerThread = new worker_threads_1.Worker((0, path_1.resolve)(dir, './worker-thread.js'), {
20
- workerData: { filename: this.workerFilename, type: this.type },
20
+ this.workerThread = new worker_threads_1.Worker((0, path_1.resolve)(dir, './worker-thread/worker-thread.js'), {
21
+ workerData: {
22
+ filename: this.workerFilename,
23
+ initialPayload: this.initialPayload,
24
+ type: this.type,
25
+ },
21
26
  });
22
27
  this.workerThread.on('messageerror', (err) => {
23
28
  console.error(err);
@@ -55,7 +60,7 @@ class Worker extends index_js_2.EventEmitter {
55
60
  };
56
61
  const onMessage = (msg) => {
57
62
  cleanUp();
58
- if (msg.code !== index_js_1.EWorkerThreadExecutionCode.OK) {
63
+ if (msg.code !== index_js_1.EWorkerThreadChildExecutionCode.OK) {
59
64
  callback(new index_js_3.WorkerThreadError(msg));
60
65
  }
61
66
  else
@@ -64,7 +69,7 @@ class Worker extends index_js_2.EventEmitter {
64
69
  const onExit = () => {
65
70
  cleanUp();
66
71
  const msg = {
67
- code: index_js_1.EWorkerThreadExitCode.TERMINATED,
72
+ code: index_js_1.EWorkerThreadChildExitCode.TERMINATED,
68
73
  error: null,
69
74
  };
70
75
  callback(new index_js_3.WorkerThreadError(msg));
@@ -72,12 +77,10 @@ class Worker extends index_js_2.EventEmitter {
72
77
  worker.once('message', onMessage);
73
78
  worker.once('exit', onExit);
74
79
  }
75
- exec(payload, cb) {
76
- this.registerEvents(cb);
77
- if (!(payload === null || payload === undefined))
78
- this.getWorkerThread().postMessage(payload);
80
+ postMessage(message) {
81
+ this.getWorkerThread().postMessage(message);
79
82
  }
80
- shutDown(cb) {
83
+ shutdown(cb) {
81
84
  const callback = () => {
82
85
  this.workerThread = null;
83
86
  cb();
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/worker/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/worker/worker.ts"],"names":[],"mappings":";;;AASA,+BAA+B;AAC/B,mDAAwD;AAExD,+CAM0B;AAC1B,0DAAmD;AACnD,gDAAiD;AACjD,gDAAsD;AAOtD,MAAM,GAAG,GAAG,IAAA,2BAAU,GAAE,CAAC;AAEzB,MAAsB,MAGpB,SAAQ,uBAA0B;IAMlC,YAAY,cAAsB,EAAE,cAAwB;QAC1D,KAAK,EAAE,CAAC;QAHA,iBAAY,GAAwB,IAAI,CAAC;QAIjD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAES,eAAe;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAY,CAClC,IAAA,cAAO,EAAC,GAAG,EAAE,kCAAkC,CAAC,EAChD;gBACE,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI,CAAC,cAAc;oBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF,CACF,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC3C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACpC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,cAAc,CACtB,EAA6C;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM;iBACH,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC;iBACpC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,MAAM,QAAQ,GAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/C,IAAI,GAAG,EAAE;gBACP,IAAI,EAAE,YAAY,MAAM,EAAE;oBACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;iBAChC;;oBAAM,EAAE,CAAC,GAAG,CAAC,CAAC;aAChB;iBAAM;gBACL,IAAI,EAAE,YAAY,MAAM;oBAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;;oBACpD,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,GAAqC,EAAE,EAAE;YAC1D,OAAO,EAAE,CAAC;YACV,IAAI,GAAG,CAAC,IAAI,KAAK,0CAA+B,CAAC,EAAE,EAAE;gBACnD,QAAQ,CAAC,IAAI,4BAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;aACtC;;gBAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,OAAO,EAAE,CAAC;YACV,MAAM,GAAG,GAAG;gBACV,IAAI,EAAE,qCAA0B,CAAC,UAAU;gBAC3C,KAAK,EAAE,IAAI;aACZ,CAAC;YACF,QAAQ,CAAC,IAAI,4BAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAmC;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ,CAAC,EAAmB;QAC1B,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,EAAE,EAAE,CAAC;QACP,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC9D;;YAAM,EAAE,EAAE,CAAC;IACd,CAAC;CACF;AA1FD,wBA0FC"}