-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
31 lines (25 loc) · 994 Bytes
/
index.js
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
const express = require ('express')
const cluster = require ('cluster')
const os = require ('os') // SO que gerencia o hardware
if (cluster.isMaster) { // Se for o processo mestre em execução, ele executa o processo e chama os filhos
var qtdCpu = os.cpus().length // Quantidade de CPUS (Threads do processador)
for (var i = 0; i < qtdCpu; i++) {
cluster.fork() // Criação de um processo para aplicar nosso projeto
}
cluster.on('online', function(worker){
console.log(`Worker criado: ${worker.process.pid}`)
})
cluster.on('exit', function(worker) {
console.log(`Worker id: ${worker.process.pid} code: ${code} signal: ${signal}`)
cluster.fork()
})
} else {
const app = express()
app.get('/', (req, res) => {
res.send(`Processo id: ${process.pid}`)
for (var i = 0; i < 1000; i++){
console.log(i)
}
})
app.listen(3000, () => console.log(`Servidor online... ${process.pid}`))
}