Home > コンセプトペーパ > Magic xpi 4.x のアーキテクチャ > リカバリ動作 > エンジン/ワーカ障害 > ワークプロセスのリカバリ

ワークプロセスのリカバリ

ークプロセスは、ルートフロー全体(その子フローを含みます)の実行ツリーです。ワークプロセスは、全体として1つの企業取引として扱われます。ルートフローは、親フローによって呼び出されなかったフローです。フローはトリガ、スケジューラ、自動起動、またはパブリッシュ/サブスクライブのシナリオによって開始されたものにになります。

  1. リカバリは、個別のフローのためにではなくワークプロセスのために定義されます。

  2. Magic xpiは、ルートフローで定義されたリカバリポリシーを使用して、子フローのために定義されたリカバリポリシーを無視します。

スタンドアロンの分岐はワークプロセスから分離されるため、ワークプロセスの一部とみなされません。従って、それは独自の実行ツリー持っています。スタンドアロンの分岐がクラッシュすると、リカバリポリシーは主要なフローからではなく自身のフロープロパティから取り出されます。

  1. セーブポイントは、最上位のフローのリニアな分岐に保存されるだけです。子フローまたは子コンテキストに定義されたセーブポイントは無視されます。

  2. ワークプロセスは、(並行分岐の場合は)一つ以上のワーカによって実行することができ、一つ以上の個別の物理サーバで実行します。

  3. 現在実行しているワークプロセスの一部がクラッシュすると、ワークプロセスの全体がアボートされます。そして、最上位のフローで定義されるクリーンアップ・フローが呼び出されます。

  4. リカバリが適用される場合は:

    1. アボートの場合 …… 更なるアクションは不要です。

    2. 再起動の場合 …… Magic xpiは、最初に起動されたペイロードと一緒に最上位のフローを再開します。最初のデータは、決して失われません。

    3. セーブポイントの場合 …… 最後のセーブポイントが存在しない場合、Magic xpiは最後のセーブポイントから起動するか、フローを再起動します。