UNPKG

3.33 kBJavaScriptView Raw
1// const cluster = require('cluster')
2//
3// if (cluster.isMaster) {
4// const numCPUs = require('os').cpus().length
5// global['a'] = 1
6// console.log('numCPUs=>>>', numCPUs)
7// for (let i = 0; i < numCPUs; i++) {
8// // 创建子进程模拟线上请求的隔离方便global变量的使用保持与FC环境的一致性
9// cluster.fork()
10// }
11// cluster.on('exit', function (worker, code, signal) {
12// // console.log('Worker %d died with code/signal %s. Restarting worker...', worker.process.pid, signal || code);
13// cluster.fork();
14// })
15// } else {
16// if (!global['a']) {
17// global['a'] = 0
18// }
19// global['a'] += 1
20// console.log('=>>>>', global['a'], new Date())
21// const express = require('express')
22// // Workers share the TCP connection in this server
23// const app = express()
24//
25// app.get('/', function (req, res) {
26// res.send('Hello World!' + new Date());
27// process.exit()
28// })
29//
30// // All workers use this port
31// app.listen(8080)
32// }
33//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1kZW1vLW1hc3Rlci1jbGllbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC1kZW1vLW1hc3Rlci1jbGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUNyQyxFQUFFO0FBQ0YsMEJBQTBCO0FBQzFCLGtEQUFrRDtBQUNsRCxzQkFBc0I7QUFDdEIsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQyxvREFBb0Q7QUFDcEQseUJBQXlCO0FBQ3pCLFFBQVE7QUFDUiwyREFBMkQ7QUFDM0QsMEhBQTBIO0FBQzFILDBCQUEwQjtBQUMxQixTQUFTO0FBQ1QsV0FBVztBQUNYLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsUUFBUTtBQUNSLHVCQUF1QjtBQUN2QixvREFBb0Q7QUFDcEQseUNBQXlDO0FBQ3pDLHlEQUF5RDtBQUN6RCw0QkFBNEI7QUFDNUIsRUFBRTtBQUNGLHlDQUF5QztBQUN6QyxpREFBaUQ7QUFDakQseUJBQXlCO0FBQ3pCLFNBQVM7QUFDVCxFQUFFO0FBQ0YsbUNBQW1DO0FBQ25DLHVCQUF1QjtBQUN2QixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gY29uc3QgY2x1c3RlciA9IHJlcXVpcmUoJ2NsdXN0ZXInKVxuLy9cbi8vIGlmIChjbHVzdGVyLmlzTWFzdGVyKSB7XG4vLyAgICAgY29uc3QgbnVtQ1BVcyA9IHJlcXVpcmUoJ29zJykuY3B1cygpLmxlbmd0aFxuLy8gICAgIGdsb2JhbFsnYSddID0gMVxuLy8gICAgIGNvbnNvbGUubG9nKCdudW1DUFVzPT4+PicsIG51bUNQVXMpXG4vLyAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1DUFVzOyBpKyspIHtcbi8vICAgICAgICAgLy8g5Yib5bu65a2Q6L+b56iL5qih5ouf57q/5LiK6K+35rGC55qE6ZqU56a75pa55L6/Z2xvYmFs5Y+Y6YeP55qE5L2/55So5L+d5oyB5LiORkPnjq/looPnmoTkuIDoh7TmgKdcbi8vICAgICAgICAgY2x1c3Rlci5mb3JrKClcbi8vICAgICB9XG4vLyAgICAgY2x1c3Rlci5vbignZXhpdCcsIGZ1bmN0aW9uICh3b3JrZXIsIGNvZGUsIHNpZ25hbCkge1xuLy8gICAgICAgICAvLyBjb25zb2xlLmxvZygnV29ya2VyICVkIGRpZWQgd2l0aCBjb2RlL3NpZ25hbCAlcy4gUmVzdGFydGluZyB3b3JrZXIuLi4nLCB3b3JrZXIucHJvY2Vzcy5waWQsIHNpZ25hbCB8fCBjb2RlKTtcbi8vICAgICAgICAgY2x1c3Rlci5mb3JrKCk7XG4vLyAgICAgfSlcbi8vIH0gZWxzZSB7XG4vLyAgICAgaWYgKCFnbG9iYWxbJ2EnXSkge1xuLy8gICAgICAgICBnbG9iYWxbJ2EnXSA9IDBcbi8vICAgICB9XG4vLyAgICAgZ2xvYmFsWydhJ10gKz0gMVxuLy8gICAgIGNvbnNvbGUubG9nKCc9Pj4+PicsIGdsb2JhbFsnYSddLCBuZXcgRGF0ZSgpKVxuLy8gICAgIGNvbnN0IGV4cHJlc3MgPSByZXF1aXJlKCdleHByZXNzJylcbi8vICAgICAvLyBXb3JrZXJzIHNoYXJlIHRoZSBUQ1AgY29ubmVjdGlvbiBpbiB0aGlzIHNlcnZlclxuLy8gICAgIGNvbnN0IGFwcCA9IGV4cHJlc3MoKVxuLy9cbi8vICAgICBhcHAuZ2V0KCcvJywgZnVuY3Rpb24gKHJlcSwgcmVzKSB7XG4vLyAgICAgICAgIHJlcy5zZW5kKCdIZWxsbyBXb3JsZCEnICsgbmV3IERhdGUoKSk7XG4vLyAgICAgICAgIHByb2Nlc3MuZXhpdCgpXG4vLyAgICAgfSlcbi8vXG4vLyAgICAgLy8gQWxsIHdvcmtlcnMgdXNlIHRoaXMgcG9ydFxuLy8gICAgIGFwcC5saXN0ZW4oODA4MClcbi8vIH1cbiJdfQ==
\No newline at end of file