pwi-plata-type 0.4.161 → 0.4.162

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.
@@ -20,12 +20,6 @@ const main = async () => {
20
20
  workers = +Plata.config._PLATA_API_WORKERS || undefined;
21
21
  }
22
22
  const clustersPromise = require("@@/clusters/*.*");
23
- cluster.startCluster({
24
- name: '__PLATA_EXPRESS__',
25
- env: Plata.config.ENV ?? 'prod',
26
- onStart: async () => { },
27
- workers: workers,
28
- });
29
23
  if (process.argv.includes('--hot'))
30
24
  Plata.FastPromise(() => hot_reload_1.HotReload.setupHotReloadPrimary());
31
25
  const clusters = await clustersPromise;
@@ -37,7 +31,7 @@ const main = async () => {
37
31
  const promises = [];
38
32
  clusters.forEach(c => {
39
33
  const config = c.exports.default;
40
- promises.push(cluster.startCluster(config).then(r => {
34
+ promises.push(cluster._startCluster(config).then(r => {
41
35
  if (r !== null) {
42
36
  console.log(r);
43
37
  process.exit(0);
@@ -46,6 +40,12 @@ const main = async () => {
46
40
  });
47
41
  await Promise.all(promises);
48
42
  }
43
+ await cluster._startCluster({
44
+ name: '__PLATA_EXPRESS__',
45
+ env: Plata.config.ENV ?? 'prod',
46
+ onStart: async () => { },
47
+ workers: workers,
48
+ });
49
49
  }
50
50
  else {
51
51
  if (Plata.config._PLATA_WORKER_NAME === '__PLATA_EXPRESS__') {
@@ -141,8 +141,7 @@ const main = async () => {
141
141
  });
142
142
  return;
143
143
  }
144
- const c = require(`@@/clusters/${Plata.config._PLATA_WORKER_NAME}`);
145
- await c.default.onStart();
144
+ await cluster._onStartCluster(Plata.config._PLATA_WORKER_NAME, Plata.config._PLATA_WORKER_TYPE);
146
145
  }
147
146
  }
148
147
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plata-api.js","sourceRoot":"","sources":["../../src/bin/plata-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plata-api.js","sourceRoot":"","sources":["../../src/bin/plata-api.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ async function main() {
14
14
  const promises = [];
15
15
  clusters.forEach(c => {
16
16
  const config = c.exports.default;
17
- promises.push(cluster.startCluster(config).then(r => {
17
+ promises.push(cluster._startCluster(config).then(r => {
18
18
  if (r !== null) {
19
19
  console.log(r);
20
20
  process.exit(0);
@@ -31,8 +31,7 @@ async function main() {
31
31
  });
32
32
  return;
33
33
  }
34
- const c = require(`@@/clusters/${Plata.config._PLATA_WORKER_NAME}`);
35
- await c.default.onStart();
34
+ await cluster._onStartCluster(Plata.config._PLATA_WORKER_NAME, Plata.config._PLATA_WORKER_TYPE);
36
35
  }
37
36
  }
38
37
  //# sourceMappingURL=plata-cluster.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plata-cluster.js","sourceRoot":"","sources":["../../src/bin/plata-cluster.ts"],"names":[],"mappings":";;AAEA,oBAuCC;AAzCD,6CAAqD;AAE9C,KAAK,UAAU,IAAI;IACtB,MAAM,OAAO,GAAG,IAAI,6BAAmB,EAAE,CAAA;IAEzC,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACtB,MAAM,eAAe,GAA2D,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC1G,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAA;QAEtC,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,QAAQ,GAAoB,EAAE,CAAA;QAEpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;YAChC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAChD,IAAI,CAAC,KAAK,IAAI,EAAG,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnB,CAAC;YACL,CAAC,CAAC,CAAC,CAAA;QACP,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACJ,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,oDAAoD;aAC5D,CAAC,CAAA;YAEF,OAAM;QACV,CAAC;QAED,MAAM,CAAC,GAAuC,OAAO,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;QAEvG,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"plata-cluster.js","sourceRoot":"","sources":["../../src/bin/plata-cluster.ts"],"names":[],"mappings":";;AAEA,oBAwCC;AA1CD,6CAAqD;AAE9C,KAAK,UAAU,IAAI;IACtB,MAAM,OAAO,GAAG,IAAI,6BAAmB,EAAE,CAAA;IAEzC,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACtB,MAAM,eAAe,GAA2D,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC1G,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAA;QAEtC,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,QAAQ,GAAoB,EAAE,CAAA;QAEpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;YAChC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACjD,IAAI,CAAC,KAAK,IAAI,EAAG,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnB,CAAC;YACL,CAAC,CAAC,CAAC,CAAA;QACP,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACJ,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,oDAAoD;aAC5D,CAAC,CAAA;YAEF,OAAM;QACV,CAAC;QAED,MAAM,OAAO,CAAC,eAAe,CACzB,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAC/B,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAClC,CAAA;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlataClusterController = void 0;
4
+ class PlataClusterController {
5
+ clusterManager;
6
+ clusterName;
7
+ msgId = 0;
8
+ workersPids = new Set();
9
+ constructor(clusterManager, name) {
10
+ this.clusterManager = clusterManager;
11
+ this.clusterName = name;
12
+ }
13
+ async loadWorkers() {
14
+ const result = await new Promise(resolve => {
15
+ const id = `${process.pid}_${this.msgId++}_GETPID`;
16
+ const cleanUp = () => {
17
+ process.removeListener('message', onResponse);
18
+ };
19
+ const onResponse = (event) => {
20
+ if (event.action !== `GET-PIDS-CLUSTER-RESULT-${id}`)
21
+ return;
22
+ cleanUp();
23
+ const e = event;
24
+ return resolve(e.msg);
25
+ };
26
+ process.on('message', onResponse);
27
+ this.clusterManager.send({
28
+ action: 'GET-PIDS-CLUSTER',
29
+ msg: {
30
+ id,
31
+ name: this.clusterName
32
+ }
33
+ });
34
+ });
35
+ if (result.errorID !== undefined) {
36
+ return result;
37
+ }
38
+ const pids = new Set(result);
39
+ pids.delete(process.pid);
40
+ this.workersPids = pids;
41
+ return true;
42
+ }
43
+ getWorkersPids() {
44
+ return [...this.workersPids];
45
+ }
46
+ setOnDeadWorker(handle) {
47
+ const handleMessage = ((event) => {
48
+ if (event.action !== 'DEAD-WORKER-NOTIFY')
49
+ return;
50
+ if (event.msg.clusterName !== this.clusterName)
51
+ return;
52
+ this.workersPids.delete(event.msg.pidDead);
53
+ this.workersPids.add(event.msg.newPid);
54
+ return handle(event.msg.newPid, event.msg.pidDead);
55
+ }).bind(this);
56
+ process.on('message', handleMessage);
57
+ }
58
+ async sendMsgToPID(pid, event) {
59
+ if (!this.workersPids.has(pid))
60
+ return {
61
+ errorID: 'PLCLUCONTSNDPID001',
62
+ msg: `PID ${pid} não existe no cluster`
63
+ };
64
+ return this.clusterManager.sendToWorkerPid(pid, event);
65
+ }
66
+ async setOnMessage(handle) {
67
+ const handleMessage = ((msg) => {
68
+ if (msg.action === undefined)
69
+ return;
70
+ return handle(msg);
71
+ }).bind(this);
72
+ process.on('message', handleMessage);
73
+ }
74
+ }
75
+ exports.PlataClusterController = PlataClusterController;
76
+ //# sourceMappingURL=cluster-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster-controller.js","sourceRoot":"","sources":["../../../src/libs/cluster/cluster-controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
@@ -6,6 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
20
  exports.PlataClusterManager = void 0;
7
21
  const node_cluster_1 = __importDefault(require("node:cluster"));
8
22
  const node_os_1 = require("node:os");
23
+ const cluster_controller_1 = require("./cluster/cluster-controller");
9
24
  class PlataClusterManager {
10
25
  NodeCluster = node_cluster_1.default;
11
26
  constructor() {
@@ -17,10 +32,10 @@ class PlataClusterManager {
17
32
  };
18
33
  }
19
34
  if (this.NodeCluster.eventNames().indexOf('exit') === -1) {
20
- this.NodeCluster.on('exit', (t => t.onWorkerKilled(t))(this));
35
+ this.NodeCluster.on('exit', (t => t._onWorkerKilled(t))(this));
21
36
  }
22
37
  if (this.NodeCluster.eventNames().indexOf('message') === -1) {
23
- this.NodeCluster.on('message', ((t) => t.onMessage(t))(this));
38
+ this.NodeCluster.on('message', ((t) => t._onMessage(t))(this));
24
39
  }
25
40
  }
26
41
  else {
@@ -29,7 +44,7 @@ class PlataClusterManager {
29
44
  };
30
45
  }
31
46
  }
32
- async startCluster(config) {
47
+ async _startCluster(config) {
33
48
  if (!Plata.cluster.isPrimary)
34
49
  return {
35
50
  errorID: 'PBLCLWS0002',
@@ -58,7 +73,7 @@ class PlataClusterManager {
58
73
  config
59
74
  };
60
75
  for (let i = 0; i < config.workers; i++) {
61
- const w = this.fork(config);
76
+ const w = this._fork(config, false);
62
77
  if (w.process.pid === undefined) {
63
78
  return {
64
79
  errorID: 'PBLCLWS0003',
@@ -68,6 +83,19 @@ class PlataClusterManager {
68
83
  }
69
84
  cluster.pids.push(w.process.pid);
70
85
  }
86
+ if (config.controller !== undefined) {
87
+ console.log(`Starting controller worker on cluster ${config.name}`);
88
+ const w = this._fork(config, true);
89
+ if (w.process.pid === undefined) {
90
+ return {
91
+ errorID: 'PBLCLWS0003',
92
+ msg: `Erro while starting controller worker from cluster ${config.name}`,
93
+ error: w.process.exitCode
94
+ };
95
+ }
96
+ cluster.controllerPid = w.process.pid;
97
+ cluster.pids.push(w.process.pid);
98
+ }
71
99
  if (config.onExit !== undefined) {
72
100
  this.NodeCluster.on(this.getClusterEvents(config.name).worker.exit, config.onExit);
73
101
  }
@@ -77,11 +105,12 @@ class PlataClusterManager {
77
105
  isPrimary() {
78
106
  return this.NodeCluster.isPrimary;
79
107
  }
80
- fork(config) {
108
+ _fork(config, isController) {
81
109
  return this.NodeCluster.fork({
82
110
  ...config.workersEnv,
83
111
  ENV: config.env,
84
- _PLATA_WORKER_NAME: config.name
112
+ _PLATA_WORKER_NAME: config.name,
113
+ _PLATA_WORKER_TYPE: isController ? 'CONTROLLER' : 'WORKER'
85
114
  });
86
115
  }
87
116
  getClusterEvents(clusterName) {
@@ -92,7 +121,7 @@ class PlataClusterManager {
92
121
  }
93
122
  };
94
123
  }
95
- onWorkerKilled(t) {
124
+ _onWorkerKilled(t) {
96
125
  return (worker, code, signal) => {
97
126
  if (worker.process.pid === undefined)
98
127
  return;
@@ -104,13 +133,29 @@ class PlataClusterManager {
104
133
  console.log(`O Worker ${worker.process.pid} do cluster ${c.config.name} morreu com o codigo ${code} ${signal ?? ''}`);
105
134
  console.log(`Iniciando um novo worker no cluster ${c.config.name}`);
106
135
  node_cluster_1.default.emit(t.getClusterEvents(c.config.name).worker.exit, worker, code, signal);
107
- const w = t.fork(c.config);
136
+ const wasController = c.controllerPid === worker.process.pid;
137
+ const w = t._fork(c.config, wasController);
108
138
  const pidIndex = c.pids.indexOf(worker.process.pid);
109
139
  c.pids[pidIndex] = w.process.pid ?? 0;
140
+ if (wasController) {
141
+ c.controllerPid = w.process.pid ?? 0;
142
+ }
143
+ if (c.controllerPid !== undefined) {
144
+ if (wasController)
145
+ return;
146
+ t._sendMsgToPid(c.controllerPid, {
147
+ action: 'DEAD-WORKER-NOTIFY',
148
+ msg: {
149
+ clusterName: c.config.name,
150
+ newPid: w.process.pid,
151
+ pidDead: worker.process.pid,
152
+ }
153
+ });
154
+ }
110
155
  }
111
156
  };
112
157
  }
113
- async sendMsgToAllWorkers(msg) {
158
+ async _sendMsgToAllWorkers(msg) {
114
159
  if (this.NodeCluster.workers === undefined)
115
160
  return;
116
161
  for (const worker of Object.values(this.NodeCluster.workers)) {
@@ -127,6 +172,9 @@ class PlataClusterManager {
127
172
  const clusterIndex = Plata.cluster.clusters.findIndex(cluster => cluster.config.name === name);
128
173
  if (clusterIndex === -1)
129
174
  return;
175
+ if (Plata.cluster.clusters[clusterIndex].controllerPid !== undefined) {
176
+ return this._sendMsgToPid(Plata.cluster.clusters[clusterIndex].controllerPid, msg);
177
+ }
130
178
  const pids = Plata.cluster.clusters[clusterIndex].pids;
131
179
  for (const worker of Object.values(this.NodeCluster.workers)) {
132
180
  if (worker === undefined)
@@ -135,7 +183,7 @@ class PlataClusterManager {
135
183
  worker.send(msg);
136
184
  }
137
185
  }
138
- async sendMsgToPid(pid, msg) {
186
+ async _sendMsgToPid(pid, msg) {
139
187
  if (this.NodeCluster.workers === undefined)
140
188
  return;
141
189
  if (!Plata.cluster.isPrimary)
@@ -148,9 +196,9 @@ class PlataClusterManager {
148
196
  worker.send(msg);
149
197
  }
150
198
  }
151
- async getClusterPids(name, id) {
199
+ async _getClusterPids(name, id) {
152
200
  if (this.NodeCluster.workers === undefined)
153
- return this.sendMsgToAllWorkers({
201
+ return this._sendMsgToAllWorkers({
154
202
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
155
203
  msg: {
156
204
  errorID: 'PCLGETCLPIDS001',
@@ -158,7 +206,7 @@ class PlataClusterManager {
158
206
  }
159
207
  });
160
208
  if (!Plata.cluster.isPrimary)
161
- return this.sendMsgToAllWorkers({
209
+ return this._sendMsgToAllWorkers({
162
210
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
163
211
  msg: {
164
212
  errorID: 'PCLGETCLPIDS002',
@@ -167,7 +215,7 @@ class PlataClusterManager {
167
215
  });
168
216
  const clusterIndex = Plata.cluster.clusters.findIndex(cluster => cluster.config.name === name);
169
217
  if (clusterIndex === -1)
170
- return this.sendMsgToAllWorkers({
218
+ return this._sendMsgToAllWorkers({
171
219
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
172
220
  msg: {
173
221
  errorID: 'PCLGETCLPIDS002',
@@ -175,24 +223,25 @@ class PlataClusterManager {
175
223
  error: name
176
224
  }
177
225
  });
178
- return this.sendMsgToAllWorkers({
226
+ return this._sendMsgToAllWorkers({
179
227
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
180
228
  msg: Plata.cluster.clusters[clusterIndex].pids
181
229
  });
182
230
  }
183
- onMessage(t) {
231
+ _onMessage(t) {
184
232
  return (worker, actionEvent) => {
185
233
  Plata.switchUnionObject(actionEvent, 'action', {
186
234
  _default: async (v) => console.log(`Action inválida: ${actionEvent.action}`),
187
235
  "ECHO-CLUSTER": async ({ msg }) => t.sendMsgToCluster(msg.name, msg.data),
188
- 'ECHO-PID': async ({ msg }) => t.sendMsgToPid(msg.pid, msg.data),
189
- ECHO: async ({ msg }) => t.sendMsgToAllWorkers(msg),
236
+ 'ECHO-PID': async ({ msg }) => t._sendMsgToPid(msg.pid, msg.data),
237
+ 'DEAD-WORKER-NOTIFY': async () => console.log(`Action inválida: ${actionEvent.action}`),
238
+ ECHO: async ({ msg }) => t._sendMsgToAllWorkers(msg),
190
239
  KILL: async ({ msg }) => {
191
240
  console.log(`Process kill requested: ${msg}`);
192
241
  process.exit(0);
193
242
  },
194
- RELOAD: async () => t.sendMsgToAllWorkers({ action: 'RELOAD', msg: true }),
195
- "GET-PIDS-CLUSTER": async ({ msg }) => t.getClusterPids(msg.name.toString(), msg.id),
243
+ RELOAD: async () => t._sendMsgToAllWorkers({ action: 'RELOAD', msg: true }),
244
+ "GET-PIDS-CLUSTER": async ({ msg }) => t._getClusterPids(msg.name.toString(), msg.id),
196
245
  });
197
246
  };
198
247
  }
@@ -217,6 +266,16 @@ class PlataClusterManager {
217
266
  }
218
267
  });
219
268
  }
269
+ async _onStartCluster(name, type) {
270
+ const c = require(`@@/clusters/${name}`);
271
+ if (type === 'CONTROLLER' && c.default.controller !== undefined) {
272
+ const controller = new cluster_controller_1.PlataClusterController(this, name);
273
+ await c.default.controller(controller);
274
+ return;
275
+ }
276
+ await c.default.onStart();
277
+ }
220
278
  }
221
279
  exports.PlataClusterManager = PlataClusterManager;
280
+ __exportStar(require("./cluster/cluster-controller"), exports);
222
281
  //# sourceMappingURL=cluster.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/libs/cluster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/libs/cluster.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ var HotReload;
34
34
  otimizar: false,
35
35
  });
36
36
  const cluster = new __1.PlataCluster.PlataClusterManager();
37
- cluster.sendMsgToAllWorkers({
37
+ cluster._sendMsgToAllWorkers({
38
38
  action: 'RELOAD',
39
39
  msg: true
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../src/libs/hot-reload.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAC9B,0BAAiC;AACjC,mCAAoC;AAEpC,IAAiB,SAAS,CA2DzB;AA3DD,WAAiB,SAAS;IACtB,SAAgB,SAAS,CAAC,QAAgB;QACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9B,OAAO,KAAK,CACf;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChC,OAAO,KAAK,CACf;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YACjC,OAAO,KAAK,CACf;QAED,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,IAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACxB,OAAO,KAAK,CACf;YACL,CAAC;QACL,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAxBe,mBAAS,YAwBxB,CAAA;IAEM,KAAK,UAAU,MAAM;QACxB,MAAM,kBAAU,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,gBAAY,CAAC,mBAAmB,EAAE,CAAA;QAEtD,OAAO,CAAC,mBAAmB,CAAC;YACxB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,IAAI;SACZ,CAAC,CAAA;IACN,CAAC;IAdqB,gBAAM,SAc3B,CAAA;IAEM,KAAK,UAAU,qBAAqB;QACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAClC,IAAA,oBAAK,EAAC,KAAK,CAAC,UAAU,EAAE;YACpB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,SAAS,CAAC,SAAS;SAC9B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAPqB,+BAAqB,wBAO1C,CAAA;IAEM,KAAK,UAAU,oBAAoB;QACtC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoB,EAAE,EAAE;YAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IANqB,8BAAoB,uBAMzC,CAAA;AACL,CAAC,EA3DgB,SAAS,yBAAT,SAAS,QA2DzB"}
1
+ {"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../src/libs/hot-reload.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAC9B,0BAAiC;AACjC,mCAAoC;AAEpC,IAAiB,SAAS,CA2DzB;AA3DD,WAAiB,SAAS;IACtB,SAAgB,SAAS,CAAC,QAAgB;QACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9B,OAAO,KAAK,CACf;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChC,OAAO,KAAK,CACf;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YACjC,OAAO,KAAK,CACf;QAED,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,IAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACxB,OAAO,KAAK,CACf;YACL,CAAC;QACL,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAxBe,mBAAS,YAwBxB,CAAA;IAEM,KAAK,UAAU,MAAM;QACxB,MAAM,kBAAU,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,gBAAY,CAAC,mBAAmB,EAAE,CAAA;QAEtD,OAAO,CAAC,oBAAoB,CAAC;YACzB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,IAAI;SACZ,CAAC,CAAA;IACN,CAAC;IAdqB,gBAAM,SAc3B,CAAA;IAEM,KAAK,UAAU,qBAAqB;QACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAClC,IAAA,oBAAK,EAAC,KAAK,CAAC,UAAU,EAAE;YACpB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,SAAS,CAAC,SAAS;SAC9B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAPqB,+BAAqB,wBAO1C,CAAA;IAEM,KAAK,UAAU,oBAAoB;QACtC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoB,EAAE,EAAE;YAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IANqB,8BAAoB,uBAMzC,CAAA;AACL,CAAC,EA3DgB,SAAS,yBAAT,SAAS,QA2DzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pwi-plata-type",
3
- "version": "0.4.161",
3
+ "version": "0.4.162",
4
4
  "main": "__BUILD__/index",
5
5
  "types": "src/@types/exported.d.ts",
6
6
  "bin": {
@@ -17,10 +17,11 @@ declare namespace Cluster {
17
17
 
18
18
 
19
19
  interface PlataEvents {
20
- emit(...args: GetEmitFuncionsArgs<PlataClusterActions> | GetActions<UserClusterActions>)
20
+ emit(...args: GetEmitFuncionsArgs<PlataClusterActions> | Cluster.UserActions)
21
21
  on(...args: GetOnFuncionsArgs<PlataClusterActions> | GetOnFuncionsArgs<UserClusterActions>)
22
22
  once(...args: GetOnFuncionsArgs<PlataClusterActions> | GetOnFuncionsArgs<UserClusterActions>)
23
23
  }
24
24
 
25
25
  type Actions = GetActions<PlataClusterActions> | GetActions<UserClusterActions>
26
+ type UserActions = GetActions<UserClusterActions>
26
27
  }
@@ -1,5 +1,6 @@
1
1
  /// <reference path="cluster.actions.d.ts" />
2
2
 
3
+ import { ClusterController } from '++/libs/cluster/cluster-controller'
3
4
  import * as cluster from 'node:cluster'
4
5
 
5
6
  declare global {
@@ -10,32 +11,40 @@ declare global {
10
11
  name: string,
11
12
  env: PlataEnv,
12
13
  onStart: () => Promise<void>
14
+ controller?: (controller: ClusterController) => Promise<void>
13
15
  workers?: number,
14
16
  workersEnv?: any,
15
17
  onExit?: (worker: cluster.Worker, code: number, signal: string) => void,
16
18
  }
17
19
 
18
20
  interface ClusterConfig {
19
- pids: number[],
21
+ controllerPid?: number
22
+ pids: number[]
20
23
  config: WorkerConfig
21
24
  }
22
25
 
23
26
  interface PlataClusterActions {
24
27
  KILL: string
25
- ECHO: GetActions<UserClusterActions>
28
+ ECHO: Cluster.UserActions
26
29
  'ECHO-CLUSTER': {
27
30
  name: string
28
- data: GetActions<UserClusterActions>
31
+ data: Cluster.UserActions
29
32
  }
30
33
  'ECHO-PID': {
31
34
  pid: number
32
- data: GetActions<UserClusterActions>
35
+ data: Cluster.UserActions
33
36
  }
34
37
  'GET-PIDS-CLUSTER': {
35
38
  name: LooseAutocomplete<'__PLATA_EXPRESS__'>
36
39
  id: string
37
40
  }
38
41
 
42
+ 'DEAD-WORKER-NOTIFY': {
43
+ clusterName: string
44
+ pidDead: number
45
+ newPid: number
46
+ }
47
+
39
48
  RELOAD: true
40
49
 
41
50
  [K: `GET-PIDS-CLUSTER-RESULT-${string}`]: PlataResult<number[]>
@@ -65,6 +65,7 @@ interface Plata extends PlataRuntime {
65
65
  _PLATA_API_SSL_PASS?: string
66
66
  _PLATA_API_JSON_SIZE?: string
67
67
  _PLATA_WORKER_NAME?: string
68
+ _PLATA_WORKER_TYPE?: 'WORKER' | 'CONTROLLER'
68
69
  _PLATA_SQL_CACHETABLE?: string
69
70
  _PLATA_SQL_CACHETABLETIME?: string
70
71
  }
@@ -20,13 +20,6 @@ export const main = async () => {
20
20
 
21
21
  const clustersPromise: RequireFolderReturn<{ default: Cluster.WorkerConfig }> = require("@@/clusters/*.*")
22
22
 
23
- cluster.startCluster({
24
- name: '__PLATA_EXPRESS__',
25
- env: Plata.config.ENV ?? 'prod',
26
- onStart: async () => {},
27
- workers: workers,
28
- })
29
-
30
23
  if (process.argv.includes('--hot'))
31
24
  Plata.FastPromise(() => HotReload.setupHotReloadPrimary())
32
25
  ;
@@ -43,7 +36,7 @@ export const main = async () => {
43
36
 
44
37
  clusters.forEach(c => {
45
38
  const config = c.exports.default
46
- promises.push(cluster.startCluster(config).then(r => {
39
+ promises.push(cluster._startCluster(config).then(r => {
47
40
  if (r !== null) {
48
41
  console.log(r)
49
42
  process.exit(0)
@@ -53,6 +46,14 @@ export const main = async () => {
53
46
 
54
47
  await Promise.all(promises)
55
48
  }
49
+
50
+ // Inicia a API
51
+ await cluster._startCluster({
52
+ name: '__PLATA_EXPRESS__',
53
+ env: Plata.config.ENV ?? 'prod',
54
+ onStart: async () => {},
55
+ workers: workers,
56
+ })
56
57
  } else {
57
58
  if (Plata.config._PLATA_WORKER_NAME === '__PLATA_EXPRESS__') {
58
59
  if (process.argv.includes('--hot'))
@@ -180,9 +181,10 @@ export const main = async () => {
180
181
  return
181
182
  }
182
183
 
183
- const c: { default: Cluster.WorkerConfig } = require(`@@/clusters/${Plata.config._PLATA_WORKER_NAME}`)
184
-
185
- await c.default.onStart()
184
+ await cluster._onStartCluster(
185
+ Plata.config._PLATA_WORKER_NAME,
186
+ Plata.config._PLATA_WORKER_TYPE,
187
+ )
186
188
  }
187
189
  }
188
190
  }
@@ -16,7 +16,7 @@ export async function main() {
16
16
 
17
17
  clusters.forEach(c => {
18
18
  const config = c.exports.default
19
- promises.push(cluster.startCluster(config).then(r => {
19
+ promises.push(cluster._startCluster(config).then(r => {
20
20
  if (r !== null) {
21
21
  console.log(r)
22
22
  process.exit(0)
@@ -35,8 +35,9 @@ export async function main() {
35
35
  return
36
36
  }
37
37
 
38
- const c: { default: Cluster.WorkerConfig } = require(`@@/clusters/${Plata.config._PLATA_WORKER_NAME}`)
39
-
40
- await c.default.onStart()
38
+ await cluster._onStartCluster(
39
+ Plata.config._PLATA_WORKER_NAME,
40
+ Plata.config._PLATA_WORKER_TYPE,
41
+ )
41
42
  }
42
43
  }
@@ -0,0 +1,94 @@
1
+ import { PlataClusterManager } from "../cluster"
2
+
3
+ export class PlataClusterController {
4
+ public readonly clusterManager: PlataClusterManager
5
+ public readonly clusterName: string
6
+
7
+ private msgId = 0
8
+ private workersPids: Set<number> = new Set()
9
+
10
+ constructor(clusterManager: PlataClusterManager, name: string) {
11
+ this.clusterManager = clusterManager
12
+ this.clusterName = name
13
+ }
14
+
15
+ public async loadWorkers(): PlataPromise<true> {
16
+ const result: PlataResult<number[]> = await new Promise(resolve => {
17
+ const id = `${process.pid}_${this.msgId++}_GETPID`
18
+
19
+ const cleanUp = () => {
20
+ process.removeListener('message', onResponse)
21
+ }
22
+
23
+ const onResponse = (event: Cluster.Actions) => {
24
+ if (event.action !== `GET-PIDS-CLUSTER-RESULT-${id}`)
25
+ return
26
+ ;
27
+
28
+ cleanUp()
29
+
30
+ const e: Extract<Cluster.Actions, { action: `GET-PIDS-CLUSTER-RESULT-${string}` }> = event as any
31
+
32
+ return resolve(e.msg)
33
+ }
34
+
35
+ process.on('message', onResponse)
36
+ this.clusterManager.send({
37
+ action: 'GET-PIDS-CLUSTER',
38
+ msg: {
39
+ id,
40
+ name: this.clusterName
41
+ }
42
+ })
43
+ })
44
+
45
+ if (result.errorID !== undefined) {
46
+ return result
47
+ }
48
+
49
+ const pids = new Set(result)
50
+
51
+ pids.delete(process.pid)
52
+
53
+ this.workersPids = pids
54
+
55
+ return true
56
+ }
57
+
58
+ public getWorkersPids(): number[] {
59
+ return [...this.workersPids]
60
+ }
61
+
62
+ public setOnDeadWorker(handle: (newPid: number, oldPid: number) => Promise<void>) {
63
+ const handleMessage = ((event: Cluster.Actions) => {
64
+ if (event.action !== 'DEAD-WORKER-NOTIFY') return
65
+ if (event.msg.clusterName !== this.clusterName) return
66
+
67
+ this.workersPids.delete(event.msg.pidDead)
68
+ this.workersPids.add(event.msg.newPid)
69
+
70
+ return handle(event.msg.newPid, event.msg.pidDead)
71
+ }).bind(this)
72
+
73
+ process.on('message', handleMessage)
74
+ }
75
+
76
+ public async sendMsgToPID(pid: number, event: Cluster.UserActions): PlataPromise<boolean> {
77
+ if (!this.workersPids.has(pid)) return {
78
+ errorID: 'PLCLUCONTSNDPID001',
79
+ msg: `PID ${pid} não existe no cluster`
80
+ }
81
+
82
+ return this.clusterManager.sendToWorkerPid(pid, event)
83
+ }
84
+
85
+ public async setOnMessage(handle: (msg: Cluster.UserActions) => Promise<void>) {
86
+ const handleMessage = ((msg) => {
87
+ if (msg.action === undefined) return
88
+
89
+ return (handle as any)(msg)
90
+ }).bind(this)
91
+
92
+ process.on('message', handleMessage)
93
+ }
94
+ }
@@ -1,5 +1,6 @@
1
1
  import cluster from "node:cluster";
2
2
  import { cpus } from "node:os";
3
+ import { PlataClusterController } from './cluster/cluster-controller'
3
4
 
4
5
  export class PlataClusterManager {
5
6
  private readonly NodeCluster = cluster
@@ -11,17 +12,17 @@ export class PlataClusterManager {
11
12
  isPrimary: true,
12
13
  clusters: []
13
14
  }
14
- }
15
+ }
15
16
 
16
17
  if (this.NodeCluster.eventNames().indexOf('exit') === -1) {
17
18
  this.NodeCluster.on('exit', (
18
- t => t.onWorkerKilled(t)
19
+ t => t._onWorkerKilled(t)
19
20
  )(this))
20
21
  }
21
22
 
22
23
  if (this.NodeCluster.eventNames().indexOf('message') === -1) {
23
24
  this.NodeCluster.on('message', (
24
- (t) => t.onMessage(t)
25
+ (t) => t._onMessage(t)
25
26
  )(this))
26
27
  }
27
28
  } else {
@@ -31,7 +32,7 @@ export class PlataClusterManager {
31
32
  }
32
33
  }
33
34
 
34
- public async startCluster(config: Cluster.WorkerConfig): Promise<MaybePlataError> {
35
+ public async _startCluster(config: Cluster.WorkerConfig): Promise<MaybePlataError> {
35
36
  if (!Plata.cluster.isPrimary) return {
36
37
  errorID: 'PBLCLWS0002',
37
38
  msg: 'startCluster must be called from primary process',
@@ -64,7 +65,7 @@ export class PlataClusterManager {
64
65
  }
65
66
 
66
67
  for (let i = 0; i < config.workers; i++) {
67
- const w = this.fork(config)
68
+ const w = this._fork(config, false)
68
69
 
69
70
  if (w.process.pid === undefined) {
70
71
  return {
@@ -77,6 +78,22 @@ export class PlataClusterManager {
77
78
  cluster.pids.push(w.process.pid)
78
79
  }
79
80
 
81
+ if (config.controller !== undefined) {
82
+ console.log(`Starting controller worker on cluster ${config.name}`)
83
+ const w = this._fork(config, true)
84
+
85
+ if (w.process.pid === undefined) {
86
+ return {
87
+ errorID: 'PBLCLWS0003',
88
+ msg: `Erro while starting controller worker from cluster ${config.name}`,
89
+ error: w.process.exitCode
90
+ }
91
+ }
92
+
93
+ cluster.controllerPid = w.process.pid
94
+ cluster.pids.push(w.process.pid)
95
+ }
96
+
80
97
  if (config.onExit !== undefined) {
81
98
  this.NodeCluster.on(this.getClusterEvents(config.name).worker.exit, config.onExit)
82
99
  }
@@ -90,14 +107,14 @@ export class PlataClusterManager {
90
107
  return this.NodeCluster.isPrimary
91
108
  }
92
109
 
93
- public fork(config: Cluster.WorkerConfig) {
110
+ public _fork(config: Cluster.WorkerConfig, isController: boolean) {
94
111
  return this.NodeCluster.fork({
95
112
  ...config.workersEnv,
96
113
  ENV: config.env,
97
- _PLATA_WORKER_NAME: config.name
114
+ _PLATA_WORKER_NAME: config.name,
115
+ _PLATA_WORKER_TYPE: isController ? 'CONTROLLER' : 'WORKER'
98
116
  })
99
117
  }
100
-
101
118
  public getClusterEvents(clusterName: string) {
102
119
  const base = `plata.cluster.${clusterName}`
103
120
  return {
@@ -106,7 +123,7 @@ export class PlataClusterManager {
106
123
  }
107
124
  }
108
125
  }
109
- public onWorkerKilled(t: this) {
126
+ public _onWorkerKilled(t: this) {
110
127
  return (worker: Cluster.Worker, code: number, signal: string) => {
111
128
  if (worker.process.pid === undefined) return
112
129
  if (!Plata.cluster.isPrimary) return
@@ -128,16 +145,35 @@ export class PlataClusterManager {
128
145
  signal,
129
146
  )
130
147
 
131
- const w = t.fork(c.config)
148
+ const wasController = c.controllerPid === worker.process.pid
149
+
150
+ const w = t._fork(c.config, wasController)
132
151
 
133
152
  const pidIndex = c.pids.indexOf(worker.process.pid)
134
153
 
135
154
  c.pids[pidIndex] = w.process.pid ?? 0
155
+
156
+ if (wasController) {
157
+ c.controllerPid = w.process.pid ?? 0
158
+ }
159
+
160
+ if (c.controllerPid !== undefined) {
161
+ if (wasController) return
162
+
163
+ t._sendMsgToPid(c.controllerPid, {
164
+ action: 'DEAD-WORKER-NOTIFY',
165
+ msg: {
166
+ clusterName: c.config.name,
167
+ newPid: w.process.pid,
168
+ pidDead: worker.process.pid,
169
+ }
170
+ } as any)
171
+ }
136
172
  }
137
173
  }
138
174
  }
139
175
 
140
- public async sendMsgToAllWorkers(msg: Cluster.Actions) {
176
+ public async _sendMsgToAllWorkers(msg: Cluster.Actions) {
141
177
  if (this.NodeCluster.workers === undefined) return
142
178
 
143
179
  for (const worker of Object.values(this.NodeCluster.workers)) {
@@ -155,6 +191,10 @@ export class PlataClusterManager {
155
191
 
156
192
  if (clusterIndex === -1) return
157
193
 
194
+ if (Plata.cluster.clusters[clusterIndex].controllerPid !== undefined) {
195
+ return this._sendMsgToPid(Plata.cluster.clusters[clusterIndex].controllerPid, msg)
196
+ }
197
+
158
198
  const pids = Plata.cluster.clusters[clusterIndex].pids
159
199
 
160
200
  for (const worker of Object.values(this.NodeCluster.workers)) {
@@ -166,7 +206,7 @@ export class PlataClusterManager {
166
206
  }
167
207
  }
168
208
 
169
- public async sendMsgToPid(pid: number, msg: Cluster.Actions) {
209
+ public async _sendMsgToPid<T extends Cluster.Actions>(pid: number, msg: T) {
170
210
  if (this.NodeCluster.workers === undefined) return
171
211
  if (!Plata.cluster.isPrimary) return
172
212
 
@@ -181,9 +221,9 @@ export class PlataClusterManager {
181
221
  }
182
222
  }
183
223
 
184
- public async getClusterPids(name: string, id: string) {
224
+ public async _getClusterPids(name: string, id: string) {
185
225
  if (this.NodeCluster.workers === undefined)
186
- return this.sendMsgToAllWorkers({
226
+ return this._sendMsgToAllWorkers({
187
227
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
188
228
  msg: {
189
229
  errorID: 'PCLGETCLPIDS001',
@@ -193,7 +233,7 @@ export class PlataClusterManager {
193
233
  ;
194
234
 
195
235
  if (!Plata.cluster.isPrimary)
196
- return this.sendMsgToAllWorkers({
236
+ return this._sendMsgToAllWorkers({
197
237
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
198
238
  msg: {
199
239
  errorID: 'PCLGETCLPIDS002',
@@ -205,7 +245,7 @@ export class PlataClusterManager {
205
245
  const clusterIndex = Plata.cluster.clusters.findIndex(cluster => cluster.config.name === name)
206
246
 
207
247
  if (clusterIndex === -1)
208
- return this.sendMsgToAllWorkers({
248
+ return this._sendMsgToAllWorkers({
209
249
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
210
250
  msg: {
211
251
  errorID: 'PCLGETCLPIDS002',
@@ -215,31 +255,33 @@ export class PlataClusterManager {
215
255
  })
216
256
  ;
217
257
 
218
- return this.sendMsgToAllWorkers({
258
+ return this._sendMsgToAllWorkers({
219
259
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
220
260
  msg: Plata.cluster.clusters[clusterIndex].pids
221
261
  })
222
262
  }
223
263
 
224
- public onMessage(t: this) {
264
+ public _onMessage(t: this) {
225
265
  return (worker: Cluster.Worker, actionEvent: Cluster.GetActions<Cluster.PlataClusterActions>) => {
226
266
  Plata.switchUnionObject(actionEvent, 'action', {
227
267
  _default: async (v) => console.log(`Action inválida: ${actionEvent.action}`),
228
268
 
229
269
  "ECHO-CLUSTER": async ({ msg }) => t.sendMsgToCluster(msg.name, msg.data),
230
270
 
231
- 'ECHO-PID': async ({ msg }) => t.sendMsgToPid(msg.pid, msg.data),
271
+ 'ECHO-PID': async ({ msg }) => t._sendMsgToPid(msg.pid, msg.data),
272
+
273
+ 'DEAD-WORKER-NOTIFY': async () => console.log(`Action inválida: ${actionEvent.action}`),
232
274
 
233
- ECHO: async ({ msg }) => t.sendMsgToAllWorkers(msg),
275
+ ECHO: async ({ msg }) => t._sendMsgToAllWorkers(msg),
234
276
 
235
277
  KILL: async ({ msg }) => {
236
278
  console.log(`Process kill requested: ${msg}`)
237
279
  process.exit(0)
238
280
  },
239
281
 
240
- RELOAD: async () => t.sendMsgToAllWorkers({ action: 'RELOAD', msg: true }),
282
+ RELOAD: async () => t._sendMsgToAllWorkers({ action: 'RELOAD', msg: true }),
241
283
 
242
- "GET-PIDS-CLUSTER": async ({ msg }) => t.getClusterPids(msg.name.toString(), msg.id),
284
+ "GET-PIDS-CLUSTER": async ({ msg }) => t._getClusterPids(msg.name.toString(), msg.id),
243
285
  })
244
286
  }
245
287
  }
@@ -258,7 +300,7 @@ export class PlataClusterManager {
258
300
  return process.send(msg)
259
301
  }
260
302
 
261
- public async sendToWorkerPid(pid: number, data: Cluster.GetActions<UserClusterActions>) {
303
+ public async sendToWorkerPid(pid: number, data: Cluster.UserActions) {
262
304
  return this.send({
263
305
  action: 'ECHO-PID',
264
306
  msg: {
@@ -267,4 +309,23 @@ export class PlataClusterManager {
267
309
  }
268
310
  })
269
311
  }
270
- }
312
+
313
+ public async _onStartCluster(name: string, type: typeof Plata.config._PLATA_WORKER_TYPE) {
314
+ const c: { default: Cluster.WorkerConfig } = require(`@@/clusters/${name}`)
315
+
316
+ if (type === 'CONTROLLER' && c.default.controller !== undefined) {
317
+ const controller = new PlataClusterController(
318
+ this,
319
+ name,
320
+ )
321
+
322
+ await c.default.controller(controller)
323
+
324
+ return
325
+ }
326
+
327
+ await c.default.onStart()
328
+ }
329
+ }
330
+
331
+ export * from './cluster/cluster-controller'
@@ -39,7 +39,7 @@ export namespace HotReload {
39
39
 
40
40
  const cluster = new PlataCluster.PlataClusterManager()
41
41
 
42
- cluster.sendMsgToAllWorkers({
42
+ cluster._sendMsgToAllWorkers({
43
43
  action: 'RELOAD',
44
44
  msg: true
45
45
  })