データ更新の調整 coordinating-data-updates
このユースケースは、1 つのワークフローを複数実行する場合に同時更新を管理できるワークフローの作成の詳細を示します。
この目的は、別の更新操作を実行する前に、更新プロセスが終了していることを確認することです。そのためには、インスタンス変数を設定し、インスタンスが実行中かどうかワークフローに確認させて、ワークフローの実行を継続し、更新をおこなうべきか決定します。
このワークフローは次の要素から構成されます。
- 特定の頻度でワークフローを実行する スケジューラー アクティビティ。
- 既にワークフローが実行しているかどうかを確認する テスト アクティビティ。
- ワークフローがまだ実行していない場合の クエリ アクティビティおよび データを更新 アクティビティ。その後に実行され、ワークフローインスタンス変数を false に再初期化する 終了 アクティビティ。
- ワークフローが既に実行している場合の 終了 アクティビティ。
ワークフローを構築するには、以下の手順に従います。
-
スケジューラー アクティビティを追加し、必要に応じて頻度を設定します。
-
ワークフローが既に実行しているかどうかを確認する テスト アクティビティを追加し、次のように設定します。
note note NOTE 「isRunning」は、この例のために選択したインスタンス変数名です。これは、ビルトイン変数ではありません。 -
「いいえ」の分岐に 終了 アクティビティを追加します。これにより、既にワークフローが実行している場合は、何も実行されません。
-
「はい」の分岐に、必要なアクティビティを追加します。この例では、クエリ アクティビティおよび データを更新 アクティビティです。
-
最初のアクティビティを開き、「詳細設定」タブで instance.vars.isRunning = true コマンドを追加します。これにより、インスタンス変数が実行中に設定されます。
-
終了 アクティビティを「はい」の分岐の最後に追加し、「詳細設定」タブで instance.vars.isRunning = false コマンドを追加します。
これにより、ワークフローが実行している間は、何も実行されません。
関連トピック: