Răsfoiți Sursa

Fix node cluster for restify (#7511)

JaeHyeok Kim 3 ani în urmă
părinte
comite
dea56194e1
1 a modificat fișierele cu 13 adăugiri și 5 ștergeri
  1. 13 5
      frameworks/JavaScript/restify/server.js

+ 13 - 5
frameworks/JavaScript/restify/server.js

@@ -1,5 +1,5 @@
 const cluster = require('cluster');
 const cluster = require('cluster');
-const cpus = require('os').cpus();
+const numCPUs = require('os').cpus().length;
 const server = require('restify').createServer();
 const server = require('restify').createServer();
 
 
 server.get('/plaintext', (req, res) =>
 server.get('/plaintext', (req, res) =>
@@ -8,10 +8,18 @@ server.get('/plaintext', (req, res) =>
 server.get('/json', (req, res) =>
 server.get('/json', (req, res) =>
   res.json({ message: 'Hello, World!' }));
   res.json({ message: 'Hello, World!' }));
 
 
-
-if (cluster.isMaster) {
-  cpus.forEach(() => cluster.fork());
+if (cluster.isPrimary) {
+  console.log(`Primary ${process.pid} is running`);
+  
+  // Fork workers.
+  for (let i = 0; i < numCPUs; i++) {
+    cluster.fork();
+  }
+  
+  cluster.on('exit', (worker, code, signal) => {
+    console.log(`worker ${worker.process.pid} died`);
+  });
 } else {
 } else {
   server.listen(8080, () =>
   server.listen(8080, () =>
-    console.log('%s listening at %s', server.name, server.url));
+    console.log(`${server.name} listening at ${server.url}`));
 }
 }