Home > コンセプトペーパ > Magic xpi 4.x のアーキテクチャ > 起動 > Magic xpiのプロジェクトを開始/停止する
下の図は、Magic xpiプロジェクトを開始するときに、何が起こるかについて説明しています。
プロジェクトの開始は、以下の方法のうちの1つで手動で行うことができます。
リンクをクリックします。 プロジェクトがビルドされると、このスタートリンクはプロジェクトのディレクトリに作成されます。リンクは、start.xml設定ファイルを示しています。
モニタまたはデバッガからスタートオプションをクリックします。このオプションも、プロジェクト・フォルダ内のstart.xmlファイルを使用します。
または、自動的に:
<Magic xpiインストールフォルダ>\Runtime\Configconfig
フォルダ内にprojectsStartup.xmlと呼ばれるファイルを置くことによって実行されます。
Magic xpiサービスが起動し、Magic Spaceの配備を管理すると、projectsStartup.xmlファイルに定義されたプロジェクトとサーバを自動的に起動します。projectsStartup.xmlの構成は、各プロジェクトの配下で作成されるstart.xmlの構成と同じです。
ステップ1のオプションは、プロジェクトの ファイルやユニークID、START_REQUESTEDのステータスによるメタデータを持つMagic Space内にサーバエンティティを作成します。Magic xpiの拡張モニタコンソールでサーバエンティティとステータスを参照することができます。
Magicプロセスユニットは、ステータスがSTART_REQUESTEDになっているサーバ・エンティティに対してMagic Space検索をスキャンします。
一旦プロセスユニットがSTART_REQUESTEDのステータスになっているサーバエンティティを見つけると、それはサーバエンティティで定義されているホスト名またはIPアドレスにもとづいてグリッドサービス・エージェント(GSA)をスキャンします。この動作はstart.xmlファイルに基づいて行われます。Magic プロセスユニットは、GSAにこのサーバエンティティで定義されるパラメータ/起動情報の全てを渡します。GSAが利用できない場合、それが後のステージで利用できるようになれば、プロセスユニットはチェックし続けます。
start.xmlファイルで、実行していないマシンを定義したり、GSAが実行していないことを定義することができます。作業量が高い場合、これらのマシンでGSAを開始させることができます。GSAがロードされたら、Magic xpaプロセスユニットはそれを見つけ、処理サイクルが開始されます。 |
サーバエンティティで指定されているホスト・マシンで実行するGSAは、Magicプロセスユニットから渡されるパラメータによって、Magic xpiサーバ(MgxpiServer.exeプロセス、別名エンジン)を起動します。
プロジェクトが実行していない場合、開始する最初のMgxpiServer.exeプロセスはMagic Spaceにプロジェクト・メタデータを読み込ませることによってプロジェクトを作成します。
プロジェクトがすでに実行している場合、読み込まれたMgxpiServer.exeプロセスは既存のプロジェクトを追加し、自身のワーカとトリガを要員として追加します。
Magic xpiサーバの登録後、それはMagic Spaceに接続し、そのIDによってサーバエンティティを検索します。Magic xpiサーバは、次にサーバエンティティのステータスをRUNNING に更新します。プロジェクトの実行手順の詳細は、ここをクリックしてください。
これで、サーバはリクエストの処理を開始することができます。
プロジェクトの停止は、以下にように行います。
リンクをクリックします。プロジェクトがビルドされると、この停止リンクはプロジェクトのディレクトリに作成されます。
モニタまたはデバッガから停止オプションをクリックすることによって実行されます。
スタートアップ失敗
サーバエンティティのステータスが、START_REQUESTEDとして残っていて、RUNNINGに変わらない場合、Magic xpaプロセスユニットはGSAとチェックして、実際のプロセスが動作しているかどうかを確認します。プロセスが動作している場合、サーバエンティティのステータスはSTART_FAILEDに変わります。プロセスが動作している場合、Magic xpaプロセスユニットは、最初にGSAにプロセスを終了させるように指示します、そして、サーバーエンティティをSTART_FAILEDに更新します。
スタートアップが失敗した原因についての情報や、対応方法についてはトラブルシューティングのセクションで説明しています。