【问题标题】:graceful shutdown of node/express app on heroku在heroku 上优雅关闭node/express 应用程序
【发布时间】:2014-04-29 17:15:14
【问题描述】:

我已将一个应用程序部署到 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?
});

api服务:

api.init = function () {
    mongoose.connect(mongourl);
};

api.close = function () {
    mongoose.connection.close();
};

其他人有这个问题/有什么想法吗?

【问题讨论】:

    标签: node.js heroku express


    【解决方案1】:

    如果您正在捕获 SIGTERM,则需要在处理程序中显式退出该进程。

    process.on('SIGTERM', function () {
        server.close();
        apiService.close();
        redis_store = null; // worth a punt?
        process.exit(0);
    });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2021-10-28
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多