Reload configuration on SIGHUP
This commit is contained in:
parent
c03b0a12f8
commit
e88b786073
2 changed files with 33 additions and 8 deletions
|
@ -19,8 +19,10 @@
|
|||
"test": "mocha test/**.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": "2.2.0",
|
||||
"@mapbox/mapbox-gl-native": "3.4.4",
|
||||
"@mapbox/sphericalmercator": "1.0.5",
|
||||
"advanced-pool": "0.3.2",
|
||||
"async": "2.2.0",
|
||||
"base64url": "2.0.0",
|
||||
"canvas": "1.6.5",
|
||||
"clone": "2.1.1",
|
||||
|
@ -29,6 +31,7 @@
|
|||
"express": "4.15.2",
|
||||
"glyph-pbf-composite": "0.0.2",
|
||||
"handlebars": "4.0.6",
|
||||
"http-shutdown": "^1.2.0",
|
||||
"mbtiles": "0.9.0",
|
||||
"morgan": "1.8.1",
|
||||
"node-pngquant-native": "1.0.4",
|
||||
|
@ -38,9 +41,7 @@
|
|||
"request": "2.81.0",
|
||||
"sharp": "0.17.2",
|
||||
"tileserver-gl-styles": "1.1.1",
|
||||
"vector-tile": "1.3.0",
|
||||
"@mapbox/mapbox-gl-native": "3.4.4",
|
||||
"@mapbox/sphericalmercator": "1.0.5"
|
||||
"vector-tile": "1.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"should": "^11.2.0",
|
||||
|
|
|
@ -10,6 +10,7 @@ var fs = require('fs'),
|
|||
var base64url = require('base64url'),
|
||||
clone = require('clone'),
|
||||
cors = require('cors'),
|
||||
enableShutdown = require('http-shutdown'),
|
||||
express = require('express'),
|
||||
handlebars = require('handlebars'),
|
||||
mercator = new (require('@mapbox/sphericalmercator'))(),
|
||||
|
@ -28,7 +29,7 @@ if (!isLight) {
|
|||
serve_rendered = require('./serve_rendered');
|
||||
}
|
||||
|
||||
module.exports = function(opts) {
|
||||
function start(opts) {
|
||||
console.log('Starting server');
|
||||
|
||||
var app = express().disable('x-powered-by'),
|
||||
|
@ -359,12 +360,35 @@ module.exports = function(opts) {
|
|||
this.address().address, this.address().port);
|
||||
});
|
||||
|
||||
process.on('SIGINT', function() {
|
||||
process.exit();
|
||||
});
|
||||
// add server.shutdown() to gracefully stop serving
|
||||
enableShutdown(server);
|
||||
|
||||
return {
|
||||
app: app,
|
||||
server: server
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = function(opts) {
|
||||
var running = start(opts);
|
||||
|
||||
process.on('SIGINT', function() {
|
||||
process.exit();
|
||||
});
|
||||
|
||||
process.on('SIGHUP', function() {
|
||||
console.log('Stopping server and reloading config');
|
||||
|
||||
running.server.shutdown(function() {
|
||||
for (var key in require.cache) {
|
||||
delete require.cache[key];
|
||||
}
|
||||
|
||||
var restarted = start(opts);
|
||||
running.server = restarted.server;
|
||||
running.app = restarted.app;
|
||||
});
|
||||
});
|
||||
|
||||
return running;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue