-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathserver.js
More file actions
71 lines (55 loc) · 1.8 KB
/
Copy pathserver.js
File metadata and controls
71 lines (55 loc) · 1.8 KB
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
require('dotenv').config();
const express = require('express');
const app = express();
const path = require("path");
const {logger} = require("./logger");
const {pressureNetwork} = require('./pressurizers/network');
const {pressureCpu} = require('./pressurizers/cpu')
app.use(express.urlencoded({ extended: true }))
app.use(express.json())
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
next();
});
app.use(express.static(path.join(__dirname, 'public')));
const port = process.env.SERVER_PORT || 8080;
let omitCpu = false;
let omitNetwork = false;
if(typeof process.env.OMIT_CPU === 'string'){
omitCpu = process.env.OMIT_CPU.toLowerCase() === 'true';
};
if(typeof process.env.OMIT_NETWORK === 'string'){
omitCpu = process.env.OMIT_NETWORK.toLowerCase() === 'true';
};
const promises = [];
if(!omitCpu)promises.push(pressureCpu());
if(!omitNetwork)promises.push(pressureNetwork());
let promiseExecution = async () => {
logger.info('Adding promises')
let promise = await Promise.all(promises);
//promise.close;
};
server = app.listen(port, () => {
logger.info(`Node server is running on port ${port} at ${new Date()}`);
logger.info('Starting pressure')
promiseExecution();
server.close();
});
process.on('SIGTERM', function onSigterm () {
console.info('Got SIGTERM. Graceful shutdown start', new Date().toISOString())
// start graceul shutdown here
shutdown()
})
function shutdown() {
server.close(function onServerClosed (err) {
if (err) {
console.error(err)
process.exit(1)
}
closeMyResources(function onResourcesClosed (err) {
// error handling
process.exit()
})
})
}