0

ランタイムエラーが発生した場合に、node.jsインスタンスを実行し続けるために人々がどのようなアプローチを使用しているのか疑問に思っています。

キャッチされないランタイム例外は、ノードプロセスを停止します(事実上サーバーを停止します)。人々は、これをforeverやupstartなどのツールで軽減することがよくあると思います。これにより、プロセスがクラッシュした場合にプロセスが再び復旧します。これは単純なWebサーバーのシナリオでは問題ないように見えますが、たとえばWebSocketを介してセッションを維持している場合、これは実際には解決策ではありません(すべてのセッションがドロップされるため)。

もちろん、理想的には潜在的な例外をキャッチする必要がありますが、何かが常に見逃されるでしょう。

では、どのような解決策がありますか?

4

1 に答える 1

2

process.uncaughtExceptionイベントを使用して、アプリケーションを再起動せずに、キャッチされなかった例外を処理できます。

ノード0.8.xでは、ドメインモジュールを使用してエラーをよりスマートに処理できます。エクスプレス/接続には、接続ドメインモジュールを使用できます。

于 2012-08-23T07:46:18.587 に答える