-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathweb_server.js
More file actions
34 lines (31 loc) · 931 Bytes
/
web_server.js
File metadata and controls
34 lines (31 loc) · 931 Bytes
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
'use strict';
require("babel/register")({
optional: ['es7.objectRestSpread']
});
var configureServer = require('./lib/web_app/server');
var logger = require('@hoist/logger');
var BBPromise = require('bluebird');
var mongoConnection = require('./lib/mongoose_connection');
configureServer().then(function (server) {
mongoConnection.connect().then(function () {
server.start();
var gracefullShutdown = function (SIG) {
logger.info('server stopping');
return BBPromise.all([
server.stop(),
mongoConnection.disconnect()
]).then(function () {
process.kill(process.pid, SIG);
});
};
process.once('SIGUSR2', function () {
return gracefullShutdown('SIGUSR2');
});
process.once('SIGTERM', function () {
return gracefullShutdown('SIGTERM');
});
process.once('SIGINT', function () {
return gracefullShutdown('SIGINT');
});
});
});