ワークフロー サブスクリプションのタイムアウトとエラー処理にはデフォルトの動作があります。環境内のマシンに適用する動作をカスタマイズすることができます。

IaaS は、イベント タイムアウトおよびエラー処理をイベント ブローカ サービスから処理します。

状態が移行するたびに、SendEBSMessage はイベント ブローカ サービスにイベントを送信し、応答を待機します。デフォルトでは、タイムアウトまたはエラーがイベント ブローカ サービスによって報告されると、それが記録されてからワークフローが再開されます。

マスター ワークフローで次の状態が発生している間にタイムアウトまたはエラーが発生すると、ワークフローは再開せず、強制的にエラー状態になります。

表 1. ワークフローが再開しない例外

エラーが発生する状態

エラー状態

PRE MachineProvisioned

UnprovisionMachine

PRE BuildingMachine

Disposing

PRE RegisterMachine

Finalized

タイムアウトまたはエラーの動作をカスタマイズするには、イベントをトリガするまたは状態の変更を強制する任意のイベントまたは状態に対するカスタム プロパティをマシンに追加することができます。次の例を使用して、カスタム プロパティを設定します。

  • Extensibility.Lifecycle.Error.Event.{Workflow}.{State}。プロパティの値は、タイムアウトまたはエラーが発生した場合にワークフロー内でトリガされるイベントの名前です。

  • Extensibility.Lifecycle.Error.State.{Workflow}.{State}。プロパティの値は、タイムアウトまたはエラーが発生した場合にワークフローが強制的に移行する状態の名前です。