pwi-plata-type 0.4.160 → 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,9 +183,22 @@ class PlataClusterManager {
135
183
  worker.send(msg);
136
184
  }
137
185
  }
138
- async getClusterPids(name, id) {
186
+ async _sendMsgToPid(pid, msg) {
139
187
  if (this.NodeCluster.workers === undefined)
140
- return this.sendMsgToAllWorkers({
188
+ return;
189
+ if (!Plata.cluster.isPrimary)
190
+ return;
191
+ for (const worker of Object.values(this.NodeCluster.workers)) {
192
+ if (worker === undefined)
193
+ continue;
194
+ const wPid = worker.process.pid ?? 0;
195
+ if (wPid === pid)
196
+ worker.send(msg);
197
+ }
198
+ }
199
+ async _getClusterPids(name, id) {
200
+ if (this.NodeCluster.workers === undefined)
201
+ return this._sendMsgToAllWorkers({
141
202
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
142
203
  msg: {
143
204
  errorID: 'PCLGETCLPIDS001',
@@ -145,7 +206,7 @@ class PlataClusterManager {
145
206
  }
146
207
  });
147
208
  if (!Plata.cluster.isPrimary)
148
- return this.sendMsgToAllWorkers({
209
+ return this._sendMsgToAllWorkers({
149
210
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
150
211
  msg: {
151
212
  errorID: 'PCLGETCLPIDS002',
@@ -154,7 +215,7 @@ class PlataClusterManager {
154
215
  });
155
216
  const clusterIndex = Plata.cluster.clusters.findIndex(cluster => cluster.config.name === name);
156
217
  if (clusterIndex === -1)
157
- return this.sendMsgToAllWorkers({
218
+ return this._sendMsgToAllWorkers({
158
219
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
159
220
  msg: {
160
221
  errorID: 'PCLGETCLPIDS002',
@@ -162,23 +223,25 @@ class PlataClusterManager {
162
223
  error: name
163
224
  }
164
225
  });
165
- return this.sendMsgToAllWorkers({
226
+ return this._sendMsgToAllWorkers({
166
227
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
167
228
  msg: Plata.cluster.clusters[clusterIndex].pids
168
229
  });
169
230
  }
170
- onMessage(t) {
231
+ _onMessage(t) {
171
232
  return (worker, actionEvent) => {
172
233
  Plata.switchUnionObject(actionEvent, 'action', {
173
234
  _default: async (v) => console.log(`Action inválida: ${actionEvent.action}`),
174
235
  "ECHO-CLUSTER": async ({ msg }) => t.sendMsgToCluster(msg.name, msg.data),
175
- 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),
176
239
  KILL: async ({ msg }) => {
177
240
  console.log(`Process kill requested: ${msg}`);
178
241
  process.exit(0);
179
242
  },
180
- RELOAD: async () => t.sendMsgToAllWorkers({ action: 'RELOAD', msg: true }),
181
- "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),
182
245
  });
183
246
  };
184
247
  }
@@ -194,6 +257,25 @@ class PlataClusterManager {
194
257
  }
195
258
  return process.send(msg);
196
259
  }
260
+ async sendToWorkerPid(pid, data) {
261
+ return this.send({
262
+ action: 'ECHO-PID',
263
+ msg: {
264
+ pid,
265
+ data
266
+ }
267
+ });
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
+ }
197
278
  }
198
279
  exports.PlataClusterManager = PlataClusterManager;
280
+ __exportStar(require("./cluster/cluster-controller"), exports);
199
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.160",
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,28 +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
32
+ }
33
+ 'ECHO-PID': {
34
+ pid: number
35
+ data: Cluster.UserActions
29
36
  }
30
37
  'GET-PIDS-CLUSTER': {
31
38
  name: LooseAutocomplete<'__PLATA_EXPRESS__'>
32
39
  id: string
33
40
  }
34
41
 
42
+ 'DEAD-WORKER-NOTIFY': {
43
+ clusterName: string
44
+ pidDead: number
45
+ newPid: number
46
+ }
47
+
35
48
  RELOAD: true
36
49
 
37
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,9 +206,24 @@ export class PlataClusterManager {
166
206
  }
167
207
  }
168
208
 
169
- public async getClusterPids(name: string, id: string) {
209
+ public async _sendMsgToPid<T extends Cluster.Actions>(pid: number, msg: T) {
210
+ if (this.NodeCluster.workers === undefined) return
211
+ if (!Plata.cluster.isPrimary) return
212
+
213
+ for (const worker of Object.values(this.NodeCluster.workers)) {
214
+ if (worker === undefined) continue
215
+
216
+ const wPid = worker.process.pid ?? 0
217
+
218
+ if (wPid === pid)
219
+ worker.send(msg)
220
+ ;
221
+ }
222
+ }
223
+
224
+ public async _getClusterPids(name: string, id: string) {
170
225
  if (this.NodeCluster.workers === undefined)
171
- return this.sendMsgToAllWorkers({
226
+ return this._sendMsgToAllWorkers({
172
227
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
173
228
  msg: {
174
229
  errorID: 'PCLGETCLPIDS001',
@@ -178,7 +233,7 @@ export class PlataClusterManager {
178
233
  ;
179
234
 
180
235
  if (!Plata.cluster.isPrimary)
181
- return this.sendMsgToAllWorkers({
236
+ return this._sendMsgToAllWorkers({
182
237
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
183
238
  msg: {
184
239
  errorID: 'PCLGETCLPIDS002',
@@ -190,7 +245,7 @@ export class PlataClusterManager {
190
245
  const clusterIndex = Plata.cluster.clusters.findIndex(cluster => cluster.config.name === name)
191
246
 
192
247
  if (clusterIndex === -1)
193
- return this.sendMsgToAllWorkers({
248
+ return this._sendMsgToAllWorkers({
194
249
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
195
250
  msg: {
196
251
  errorID: 'PCLGETCLPIDS002',
@@ -200,29 +255,33 @@ export class PlataClusterManager {
200
255
  })
201
256
  ;
202
257
 
203
- return this.sendMsgToAllWorkers({
258
+ return this._sendMsgToAllWorkers({
204
259
  action: `GET-PIDS-CLUSTER-RESULT-${id}`,
205
260
  msg: Plata.cluster.clusters[clusterIndex].pids
206
261
  })
207
262
  }
208
263
 
209
- public onMessage(t: this) {
264
+ public _onMessage(t: this) {
210
265
  return (worker: Cluster.Worker, actionEvent: Cluster.GetActions<Cluster.PlataClusterActions>) => {
211
266
  Plata.switchUnionObject(actionEvent, 'action', {
212
267
  _default: async (v) => console.log(`Action inválida: ${actionEvent.action}`),
213
268
 
214
269
  "ECHO-CLUSTER": async ({ msg }) => t.sendMsgToCluster(msg.name, msg.data),
215
270
 
216
- ECHO: async ({ msg }) => t.sendMsgToAllWorkers(msg),
271
+ 'ECHO-PID': async ({ msg }) => t._sendMsgToPid(msg.pid, msg.data),
272
+
273
+ 'DEAD-WORKER-NOTIFY': async () => console.log(`Action inválida: ${actionEvent.action}`),
274
+
275
+ ECHO: async ({ msg }) => t._sendMsgToAllWorkers(msg),
217
276
 
218
277
  KILL: async ({ msg }) => {
219
278
  console.log(`Process kill requested: ${msg}`)
220
279
  process.exit(0)
221
280
  },
222
281
 
223
- RELOAD: async () => t.sendMsgToAllWorkers({ action: 'RELOAD', msg: true }),
282
+ RELOAD: async () => t._sendMsgToAllWorkers({ action: 'RELOAD', msg: true }),
224
283
 
225
- "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),
226
285
  })
227
286
  }
228
287
  }
@@ -240,4 +299,33 @@ export class PlataClusterManager {
240
299
 
241
300
  return process.send(msg)
242
301
  }
243
- }
302
+
303
+ public async sendToWorkerPid(pid: number, data: Cluster.UserActions) {
304
+ return this.send({
305
+ action: 'ECHO-PID',
306
+ msg: {
307
+ pid,
308
+ data
309
+ }
310
+ })
311
+ }
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
  })