1

私は初心者で、プロセス監視が JXcore でどのように機能するかを理解しようとしています。ドキュメントを見ましたが、サーバー アプリケーションをマルチスレッドで起動して適切に監視するには、いくつかの手順が必要です。

前もって感謝します!

4

1 に答える 1

1

私はあなたにそれを説明しようとします。新人だから恥ずかしくない!:)

JXcore は、2 種類のアプリケーション監視を提供します。

1) それらの 1 つはProcess Monitorであり、これは別のインスタンスとして実行されるプロセスです。アプリケーションは、監視のためにサブスクライブする場合があります。Monitor はそれらを定期的に検証し、アプリケーションがなくなっていることを検出すると、再起動を試みます。たとえば、アプリケーション サーバーが http であり、常にオンラインである必要がある場合、Process Monitor は、それが実際に実行されていることを確認します。

アプリケーションの監視を開始する最も速い方法は、次のとおりです。

  1. モニターを起動します。> jx monitor start
  2. モニターへの自動サブスクリプションでアプリケーションを起動します。> jx monitor run app.js

その後、アプリケーションがクラッシュすると、Process Monitor がアプリケーションを再起動します。アプリケーションのプロセスを強制終了するだけでテストできます。

プロセス モニターは、現在監視されているプロセスに関する情報も提供します。それらのリストを参照して表示できます。

http://127.0.0.1:17777/json

2) 監視機能の 2 番目のタイプは、プロセスとスレッドの回復です。Process Recoveryを使用すると、Process Monitoring と同じことを実現できるため、両方を同時に使用する理由はありません。

別のシナリオは次のとおりです。

マルチスレッド アプリケーションがあり、そのスレッドを回復するだけで十分だとしましょう。

アプリケーションは次のコマンドで起動されます。

jx mt-keep:3 app.js

つまり、3 つのスレッドで実行するということです。

Thread Recovery を有効にするにはprocess.on('restart')、次のようなイベントにサブスクライブするだけで十分です。

process.on('restart', function (cb) {
    process.release();
    cb();
});

コールバックを呼び出すことを忘れないでくださいcb()。おそらくドキュメントで見たように、スレッドはこのコールバックを呼び出すまで再起動しません。再起動する前に、バックアップなどを行ってください。

基本的にはそれだけです。気軽に遊んでください!

于 2014-03-28T17:19:49.157 に答える