我是靠谱客的博主 贪玩小兔子,这篇文章主要介绍express-generator express 调用多核CPU最近开始接触Node.js, 这里分享一下如何在express 中调用多核cpu。,现在分享给大家,希望可以做个参考。

最近开始接触Node.js, 这里分享一下如何在express 中调用多核cpu。

  • 通过npm 安装 express-gnerator
  • 在express-generator中找到bin/www文件

- 代码如下

代码块

代码块来自express-generator生成的bin/www文件代码块,例如:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/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多核的共用,在实现上都比较简单。

最后

以上就是贪玩小兔子最近收集整理的关于express-generator express 调用多核CPU最近开始接触Node.js, 这里分享一下如何在express 中调用多核cpu。的全部内容,更多相关express-generator内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部