まだデプロイしていませんが、これを行う方法がわかりません。
多くのバックグラウンド プロセスを使用するアプリがあります。つまり、応答が送信された後でも、その応答に関連付けられた関数がバックグラウンドで実行されています。したがって、私はこのようなことをしたい:
var server = http.createServer(app).listen(80)
process.on('SIGINT', function () {
server.close()
setTimeout(function () {
process.exit()
}, 30000) // Wait 30 seconds before exiting
})
これが正しいかどうかはわかりません。その他の仮定:
- これらのバックグラウンド プロセスは非常に重要です。ただし、おそらく 30 秒ではなく、1 ~ 2 秒かかります。それでも、安全のために 30 秒の遅延を入れたいと思います。
- これは、プロセスの再起動(たとえば、永遠に)とプロセスの停止の両方で機能するはずです
- Heroku (またはその他のプロセス) が node.js に送信するシグナルは何
process
ですか? それらを別の方法で処理する必要がありますか? - 別の方法で処理
uncaughtException
しますか?
ありがとう