一括処理

一括処理

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Batch状態では、FunctionWebhook、またはCircuitを、複数のジョブとしてバッチ単位で反復実行できます。
 
一方、 Parallel 状態では同じ入力を使用して複数の状態を同時に実行しますが、Batch状態では、状態入力内の配列の複数のエントリーに対して、同じ状態または状態のセットを実行します。これにより、関連するリソースに負荷をかけすぎることなく、大量の入力やタスクをセット単位で処理できます。
 
コレクションパス
Batch状態の[コレクションパス]項目では、状態が反復処理する入力JSON内の配列を指定できます。これは、項目の配列を含むJSON入力があり、Batch状態内で各項目を個別に処理する場合に特に便利です。反復処理に使用するJSON配列の入力内の場所を指定するには、JSONPath構文を使用します。
 
次のJSON入力について考えます。
{ 'employee_list': [ { 'name': 'John', 'メール': 'john@ジルカー.com', 'role': 'Business Analyst' }, { 'name': 'Helena', 'メール': 'helena@ジルカー.com', 'role': 'Programmer' }, { 'name': 'Mark', 'メール': 'mark@ジルカー.com', 'role': 'QA Analyst' } ] }


上記の入力の各インデックスは、コレクションパス$.employee_listを使用して反復処理し、変数に設定して、処理に送信できます。

 

コレクション変数
コレクション変数は、Batch状態の関連リソース(CircuitWebhook、またはFunction状態)で処理するJSON値を保存するために使用します
 
たとえば、上記のJSON入力の'employee_list'配列から各従業員の詳細を処理する場合は、Batch状態の設定で、[コレクションパス]を$.employee_list、[コレクション変数]をemployeeに設定します。これにより、'employee_list'配列内の各従業員オブジェクトが抽出され、'employee'変数に割り当てられます。
 
関連リソースがCircuitの場合、'employee_list'の値はコレクション変数を使用して処理されます。コレクション変数の値は、$.employee.name, $.employee.メール, $.employee.roleとしてCircuit内で使用できます。
 
使用例従業員のオンボーディングシナリオでは、'New Employee Onboarding'という名前のCircuitが、1人の従業員のオンボーディング用にすでに設計されており、オンボーディングプロセスで実行する手順や操作の順序が事前に定義されています。ただし、複数の従業員を効率的にオンボーディングするには、Batch状態を使用して、従業員詳細の複数のエントリーに対してCircuitをバッチモードで実行できます。各エントリーはオンボーディングプロセスを進む個々の従業員を表し、すべての従業員に対してプロセスの各手順が一貫して実行されます。
 
これにより、複数の従業員を同時にオンボーディングできます。Batch状態でジョブ数をたとえば10に設定すると、Circuitを10人の従業員に対して同時に実行し、それぞれの入力を処理できます。最初の10件のジョブが完了し、最初の従業員グループの処理が終わると、次の反復処理で次の10件のジョブのバッチが開始され、次の従業員グループをオンボーディングします。この反復処理は、すべての従業員のオンボーディングが正常に完了するまで続きます。
 
次に、従業員オンボーディング用Circuitを複数、バッチとして実行するために、ビルダー表示とコード表示でBatch状態を設定します。

ビルダー表示での設定  

Batch状態をCircuitに設定するには、次の手順を実行します。

  1. ビルダー表示で、左側のペインからBatch状態をCircuitにドラッグ&ドロップするか、Circuit内の必要なBatch状態をクリックします。

  2. [設定]で、共通の状態項目の属性を更新します。

  3. [コレクションパス]に、入力JSON内で、Batch状態が処理する値を含むJSON配列のキーを入力します。

  4. [コレクション変数]に、コレクションパスで指定したリストから抽出されるJSON値またはオブジェクトを保持する変数名を指定します。反復処理されたJSON値またはオブジェクトには、この変数を使用してアクセスできます。

  5. [バインドの種類]を使用して、Batch状態をFunction、Webhook、またはCircuitにバインドできます。

Notes

このプロセスでは、1人の従業員のオンボーディング用に開発されたCircuitをバインドし、従業員のオンボーディングプロセス中に複数の従業員に対してバッチとして実行します。

  1. [ジョブ数]項目で、各バッチのスレッド数を定義します。
  2. Batch状態の[入力パス]、[出力パス]、および[結果パス]を設定するには、入出力処理を参照してください。

      

FunctionまたはCircuitの複数のインスタンスが実行されるため、タイムアウトエラーを回避できます。

Notes
‌バッチステートで Retry 項目を定義すると、再試行ポリシーはバッチステートのすべての反復処理が失敗した場合にのみ適用されます。 たとえば、3回の反復処理を含むバッチステートで Retry 項目を設定した場合、再試行ポリシーは3回の反復処理すべてが失敗した場合にのみ適用されます。

コードビュー

コードビューでは、JSONの詳細を項目 collectionPathcollectionVariable に指定できます。bindを使用してFunction、Webhook、Circuitを関連付け、degreeを使用してバッチのスレッド数を定義できます。

バッチステートの例。

'Employee Onboarding Tasks': { 'type': 'batch', 'next': 'End', 'start': true, 'collection_path': '$.employee_list', 'collection_variable': 'employee', 'degree': 10, 'bind': { 'type': 'circuit', 'circuit_id': 'new_employee_onboarding' }}





Success ステート

    • Related Articles

    • 回路の作成と設定

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 サーキットは、Qntrlのさまざまなタブにわたるタスクの自動化に役立つ視覚的なワークフローです。サーキットは、作成済みテンプレートを使用するか、[ビルダー表示]または[コード表示]で一から作成できます。 サーキットの共通機能 組織ごとに作成できるサーキットは最大500件です。 ...