express-generator express 调用多核CPU
来源:互联网 发布:举报网络电子邮箱地址 编辑:程序博客网 时间:2024/06/11 18:08
最近开始接触Node.js, 这里分享一下如何在express 中调用多核cpu。
- 通过npm 安装 express-gnerator
- 在express-generator中找到bin/www文件
- 代码如下
代码块
代码块来自express-generator生成的bin/www文件代码块,例如:
#!/usr/bin/env node/** * Module dependencies. */var app = require('../app');var debug = require('debug')('cjproj:server');var http = require('http');const cluster = require('cluster');const numCPUs = require('os').cpus().length; //cpu内核数/** * Get port from environment and store in Express. */var port = normalizePort(process.env.PORT || '1130');app.set('port', port);/** * Create HTTP server. */if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); //通过cpu内核数生成子进程 } cluster.on('exit', (worker, code, signal) => { console.log(`worker ${worker.process.pid} died`); });} else { // Workers can share any TCP connection // In this case it is an HTTP server var server = http.createServer(app); server.listen(port); //同时监听port端口 server.on('error', onError); server.on('listening', onListening);}/** * Listen on provided port, on all network interfaces. *//** * Normalize a port into a number, string, or false. */function normalizePort(val) { var port = parseInt(val, 10); if (isNaN(port)) { // named pipe return val; } if (port >= 0) { // port number return port; } return false;}/** * Event listener for HTTP server "error" event. */function onError(error) { if (error.syscall !== 'listen') { throw error; } var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages switch (error.code) { case 'EACCES': console.error(bind + ' requires elevated privileges'); process.exit(1); break; case 'EADDRINUSE': console.error(bind + ' is already in use'); process.exit(1); break; default: throw error; }}/** * Event listener for HTTP server "listening" event. */function onListening() { var addr = server.address(); var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; debug('Listening on ' + bind);}
如此,便是实现了CPU多核的共用,在实现上都比较简单。
1 0
- express-generator express 调用多核CPU
- express 与 express-generator
- Express-generator
- express-generator
- Express 应用生成器express-generator
- Express 应用程序生成器express-generator
- Node.js之express生成器express-generator
- express
- express
- Express
- express
- Express
- express
- Express
- express
- Express
- express
- express
- 第十二章 迭进
- SDK4/5/6/7,相册、拍照及裁剪功能及遇见的坑
- nginx搭建支持http和rtmp协议的流媒体服务器之三 【转】
- 通讯录(链表+文件实现)+ 反思
- MySQL5.7版本无法启动服务【启动后自动停止】的解决方法
- express-generator express 调用多核CPU
- GitHub integrate with Eclipse
- Thinking in java 内部类
- java中servlet程序
- 做了一个梦:人生走了一遍
- 关于USB-Serial、USB转串口、USB-UART、PL2303、CH340等的理解
- 第五节 属性
- (转)排版常用HTML标签
- [Qt creator+Linux]mysql数据库使用问题:mysql driver not loaded