cluster-server.js 696 B

1234567891011121314151617181920212223242526272829303132
  1. const fs = require('fs');
  2. const ipc=require('../../../node-ipc');
  3. const cpuCount = require('os').cpus().length;
  4. const cluster = require('cluster');
  5. const socketPath = '/tmp/ipc.sock';
  6. ipc.config.unlink = false;
  7. if (cluster.isMaster) {
  8. if (fs.existsSync(socketPath)) {
  9. fs.unlinkSync(socketPath);
  10. }
  11. for (let i = 0; i < cpuCount; i++) {
  12. cluster.fork();
  13. }
  14. }else{
  15. ipc.serve(
  16. socketPath,
  17. function() {
  18. ipc.server.on(
  19. 'currentDate',
  20. function(data,socket) {
  21. console.log(`pid ${process.pid} got: `, data);
  22. }
  23. );
  24. }
  25. );
  26. ipc.server.start();
  27. console.log(`pid ${process.pid} listening on ${socketPath}`);
  28. }