注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

効果の設定

このページでは、自動化の設定時に効果ページからアクセスできる効果の設定について説明します。

同時実行

自動化は独立して実行されます。複数の自動化が同時にトリガーされた場合、それらの自動化は並列で実行され、実行順序は不定です。ただし、単一の自動化の効果は、順次実行または並列実行するように設定できます。

アクション、ロジック、関数の効果は、順次実行するように順序を設定できます。順次実行を有効にするには、これらの種類の効果が少なくとも2個必要です。それ以外の場合、効果は並列で実行されます。

順次実行するように設定された2個のアクション効果。

上の例では、効果が順次実行するように設定されているため、「アクション1」が「アクション2」より先に実行されます。順次実行の設定は、パーティション分割の設定にかかわらず適用されます。たとえば、40個のオブジェクトが自動化をトリガーし、パーティションサイズが20の場合、次の4回の実行が順次行われます。

  1. 最初の20個のオブジェクトがアクション1をトリガーします。
  2. 次の20個のオブジェクトがアクション1をトリガーします。
  3. 最初の20個のオブジェクトがアクション2をトリガーします。
  4. 次の20個のオブジェクトがアクション2をトリガーします。

一方、並列実行が設定されている場合、自動化では4回の実行(2回ずつ並列で実行するグループが2つ)が行われます。

  1. 最初の20個のオブジェクトがアクション1とアクション2を並列でトリガーします。
  2. 次の20個のオブジェクトがアクション1とアクション2を並列でトリガーします。

失敗時の動作

順次実行では、効果の実行に失敗すると、後続の効果は実行されません。これは、フォールバック効果が設定され、その実行に成功した場合でも同様です。フォールバックアクションの実行に成功すると、その効果の失敗は処理されますが、後続の効果の実行は再開されません。

この失敗時の動作は、オブジェクトごとに適用されます。あるオブジェクトで実行に失敗し、別のオブジェクトで実行に成功した場合、成功したオブジェクトは後続の効果の実行を続けますが、失敗したオブジェクトはフォールバックで停止します。

並列実行では、効果は独立して実行され、ある効果の実行に失敗しても、ほかの効果には影響しません。

オブジェクトの編集

データソースの更新ではなくオブジェクトの編集によって自動化がトリガーされる場合、短時間に同じオブジェクトが複数回編集されたときの処理方法を設定できます。

自動化では、短時間に連続して行われた編集の処理方法が評価の頻度によって異なります。

  • ライブ監視: 同時に行われた編集のバッチごとに、自動化が個別にトリガーされます。各バッチ内では、自動化の同時実行設定に従って処理されます。
    • この動作を無効にして、代わりにスケジュール実行の動作を使用するには、自動化の条件タブにある評価の頻度の設定で、詳細設定セクションの同じオブジェクトの編集を順次処理するをオフにします。
  • スケジュール監視: 前回の評価以降のすべての編集が、単一のトリガーにまとめられます。

自動化のライブ監視評価における詳細設定のオプション。

実行の保証

効果は、exactly-once(正確に1回)の保証ではなく、at-least-once(少なくとも1回)の実行セマンティクスに従います。まれに、同じトリガーイベントに対して同じ効果が複数回実行されることがあります。Automate で使用するアクションや関数を設計する際は、再実行される可能性に適切に対応できるようにしてください。

重複実行に対応するための方策:

  • _冪等_な処理を実装します。 これは、何回実行しても同じ結果になる処理を意味します。たとえば、一貫した ID を使用してリソースを作成すると、作成コードが複数回実行されても、リソースは1回しか作成されません。
  • 条件チェックを使用して、処理を続ける前に、その処理がすでに実行されているかどうかを確認します。
  • 重複を想定して設計します。 重複した送信を適切に処理できるようにデータモデルを構成します。

Automate は重複実行を最小限に抑えようとしますが、システムの分散性と、一時的な障害に対応するための再試行メカニズムにより、重複実行を完全になくすことはできません。自動化ワークフローを設計する際、特に重要な処理については、この動作を考慮してください。