私は永遠にノードスクリプトを実行していて、それがどれほど信頼できるか、そしてスクリプトがまだ実行されている場合に他の種類のチェックを構築する必要があるかどうかについて興味があります。私はこのコマンドを使用しています:
forever start server.js
サーバーは私のWebSocketサーバーとして使用されており、通常はスクリプトを停止するエラーがスローされた場合でも実行する必要があります。私はいくつかのテストを行い、それは機能しているようですが、この組み合わせをしばらく使用している人から、これが実際に実稼働環境でどれほど信頼できるかについて聞くのは素晴らしいことです。
私は本番環境で永遠に実行していて、個人的にそれを愛しています。私はノードサーバーを使用して、ImageMagickを使用して画像を処理します。ときどき、ENOMEMエラー(メモリ不足)が発生し、ノードがクラッシュします。(これは、まだ追跡していないスクリプトのメモリリークだと思います)これが発生すると、Foreverがすぐに起動し、数秒以内にサーバーがバックアップされます。ブラウザがユーザーにメッセージを返して、再試行するように求めています。再試行すると、正常に処理されます。主に開発中に他のランダムエラーも発生するのを見てきましたが、Foreverはそれらもキャッチし、ノードサーバーを確実に再起動しました。Nodeがクラッシュし、サーバーが再起動しなかったときのことを思い出せないので、本来あるべきことを実行します。
また、console.log()を実行すると、ノードスクリプトが永久ログに出力されるのも素晴らしいことです。サーバーで何が起こっているかをチェックするために、これを頻繁に追跡します。あるいは、ログを時々振り返って、そのパフォーマンスを確認します。Foreverがサーバーを再ボットしたかどうか、いつ再ボットしたかが表示されます。
がんばろう!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加