我已经向Heroku部署了一个应用程序,并且我一直在从Logentries发送给我的R12错误。我已经看过解决这个问题的各种方法 - 但仍然没有快乐:(
这是我的引导程序:
var apiService = loader.load('apiService'),
http = require('http'),
server,
app;
apiService.init(); // see later
app.configure(function() {
RedisStore = loader.load('connect-redis')(express);
redis_store = new RedisStore(config.redis);
/* view and routes config...*/
});
server = http.createServer(app);
server.listen(process.env.PORT || 3000);
process.on('SIGTERM', function () {
server.close();
apiService.close();
redis_store = null; // worth a punt?
});
apiService:
api.init = function () {
mongoose.connect(mongourl);
};
api.close = function () {
mongoose.connection.close();
};
其他人有这个问题/有什么想法吗?
答案 0 :(得分:2)
如果您正在捕获SIGTERM,则需要在处理程序中明确退出该进程。
process.on('SIGTERM', function () {
server.close();
apiService.close();
redis_store = null; // worth a punt?
process.exit(0);
});