Home > コンセプトペーパ > Magic xpi 4.x のアーキテクチャ > リカバリ動作 > エンジン/ワーカ障害 > ワークプロセスのリカバリ
ワークプロセスは、ルートフロー全体(その子フローを含みます)の実行ツリーです。ワークプロセスは、全体として1つの企業取引として扱われます。ルートフローは、親フローによって呼び出されなかったフローです。フローはトリガ、スケジューラ、自動起動、またはパブリッシュ/サブスクライブのシナリオによって開始されたものにになります。
リカバリは、個別のフローのためにではなくワークプロセスのために定義されます。
Magic xpiは、ルートフローで定義されたリカバリポリシーを使用して、子フローのために定義されたリカバリポリシーを無視します。
スタンドアロンの分岐はワークプロセスから分離されるため、ワークプロセスの一部とみなされません。従って、それは独自の実行ツリー持っています。スタンドアロンの分岐がクラッシュすると、リカバリポリシーは主要なフローからではなく自身のフロープロパティから取り出されます。 |
セーブポイントは、最上位のフローのリニアな分岐に保存されるだけです。子フローまたは子コンテキストに定義されたセーブポイントは無視されます。
ワークプロセスは、(並行分岐の場合は)一つ以上のワーカによって実行することができ、一つ以上の個別の物理サーバで実行します。
現在実行しているワークプロセスの一部がクラッシュすると、ワークプロセスの全体がアボートされます。そして、最上位のフローで定義されるクリーンアップ・フローが呼び出されます。
リカバリが適用される場合は:
アボートの場合 …… 更なるアクションは不要です。
再起動の場合 …… Magic xpiは、最初に起動されたペイロードと一緒に最上位のフローを再開します。最初のデータは、決して失われません。
セーブポイントの場合 …… 最後のセーブポイントが存在しない場合、Magic xpiは最後のセーブポイントから起動するか、フローを再起動します。