お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
1. このページの内容
大きなタスクを効率的に小さなバッチに分割し、オフピーク時間にバッチワークフローを利用して処理する方法について説明します。
2. 利用可能範囲
バッチワークフロー機能:
- Creatorの有料プランのみで利用可能であり、各プランごとに利用できるバッチブロック数に制限があります(「知っておきたいこと」を参照)。
- スーパー管理者、管理者、開発者のみが作成・有効化・管理できます。他のユーザーは、繰り返しタスクの自動実行の恩恵を受けられます。
- すべてのデータセンターで利用可能です。
3. 概要
バッチ処理は、データを管理しやすいバッチに分割して、高頻度かつ反復的な大量データ処理を効率的かつ定期的に完了するために利用されます。各バッチは非同期フローで個別に処理されます。この方法は人の手をほとんど必要とせず、1日の中で順次、またはカスタマイズされた間隔で実行できます。バッチ処理を活用できる主な法人業務には、レポートの生成、ドキュメントの印刷、日次での情報更新などがあります。
4. Creatorにおけるバッチワークフロー
Creatorでは、ワークフローは特定のタイミングで実行する処理セットを構成でき、アプリケーション内のルーチンを自動化します。バッチワークフローを使うことで、大量データに対してカスタマイズしたDelugeスクリプトをインポート完了後やスケジュール間隔で効率的に実行できます。データ全体を10~1000件の小さなバッチに分割し、Executionセクションでバッチ(データをまとめたコレクション)ごとに処理内容を設定できます。続いて、前処理・後処理セクションが表示され、上記Delugeスクリプトの実行前後に行う処理を指定できます。例えば、注文の都度処理するのではなく、バッチワークフローを設定し、1日の終わりにすべての注文を集計して、注文処理チームと共有することができます。このようにデータ処理を分割することで、Delugeの実行制限(10~50,000件の取引明細制限)を回避し、大規模データの円滑な処理を実現します。
- 全体のスクリプト実行時間とリソース使用率を最適化するバッチサイズを選択でき、パフォーマンスと処理効率のバランスを取ることができます。
- バッチワークフローの実行中にあるバッチでエラーが発生した場合、そのバッチのみがリバート(元に戻され)されます。つまり、1つのバッチでエラーがあっても、同じバッチブロック内の他のバッチの正常な実行には影響しません。
4.1 バッチワークフローで自動化できるプロセス例
バッチワークフローはさまざまなデータリクエストの処理に設定可能で、主な例として以下があります。
- 定期請求-個別の請求日に合わせて合計金額を定期的に計算します。
- 請求書の生成-ご要望に応じて営業請求書を生成します。
- 給与計算処理-従業員ごとに毎月の給与明細をメール送信します。
- 在庫管理-商品在庫を定期的に確認し、在庫切れを防ぎます。
- 不正取引の検知-クレジットカードの月次支払明細や受取請求書を生成し、不正を検出します。
バッチ ワークフローは、業務効率を向上させ、繰り返し発生するタスクを自動化し、法人の生産性を最大化します。これにより、手作業による監督を減少させながら、反復タスクを効率的に処理できます。
5. バッチ ワークフロー実行のステージ
バッチ ワークフローは、以下の3つのステージで構成されており、それぞれのステージごとに個別の処理を設定できます。
メモ: が次の前およびが次の後 Executionブロックは、要件に応じて任意で設定可能です。ただし、During Executionブロックで実行するスクリプトは必ず設定する必要があります。
- が次の前 Execution of バッチ ワークフロー: 変数の定義や使用の初期化(他の2つのブロックでも適用可能)、バッチ ワークフロー実行前に必要な処理の設定が可能です。初期化処理の例としては、プロセス開始前に通知を送信したり、Webhookコールで在庫情報を取得したり、レスポンスからリストを作成するなどがあります。設定方法はこちら
が次の前 Executionブロックは、バッチ ワークフローの実行開始時に最初に一度だけ実行されます。
- During Execution of バッチ ワークフロー: バッチ ブロック内の各データに対して実行する単一の操作を設定できます。バッチ ワークフロー実行中、この操作は各データに対して繰り返し実行されます。例えば、従業員ごとの月間給与(税金・手当等を含む)の計算を設定できます。設定方法はこちら
During Executionブロックは、そのバッチ ワークフロー内のすべてのバッチ ブロックが完了するまで繰り返し実行されます。
- が次の後 Execution of バッチ ワークフロー: すべてのバッチ実行後、完了・失敗のいずれの場合にも対応できる処理を設定できます。これには、クリーンアップタスクの実行や、該当する(完了/失敗)通知の表示、エラー処理などが含まれます。例えば、バッチ ワークフローの実行が正常に完了した後に、従業員へメールで月間給与明細を通知する設定が可能です。設定方法はこちら
6. 前提条件
- アプリケーション内に、バッチ ワークフローを設定する元となるフォームが必要です。
- バッチ ワークフローのトリガータイミングと、データ数(各バッチのサイズ)を事前に決めておく必要があります。
7. 動作方法を見る
あなたの組織がクレジットカードを発行し、クレジットカード ManagementというCreatorアプリケーションを構築していると仮定します。毎月1日に顧客ごとに請求取引明細を生成し送信する必要があります。そのために、バッチワークフローを毎月1日に実行されるようスケジュールし、関連する取引明細を生成する操作を設定できます。また、各顧客の合計受取請求書金額を算出するなど、動的な計算に変数を活用することも可能です。処理が正常に実行された後、月間クレジットカード請求取引明細をメールの添付ファイルとして送信済みに設定できます。
8. 使用例
ケース1: データのインポートが成功した後
営業やマーケティングのエコシステムでは、見込み客を効率的に管理することが、コンバージョンの促進や売上成長にとって非常に重要です。見込み客 ManagementというCreatorアプリケーションを作成したと仮定します。
貴社は、サードパーティプラットフォームからのインポートを含む様々なソースから大量の見込み客を受領します。各リードには、エンゲージメントレベル、属性情報、過去のやり取りなど複数の属性に基づいたリードスコアの計算が必要です。さらに、エリア、専門性、業務量に応じて適切なリード担当者を割り当てることも、タイムリーなフォローアップや成約のために不可欠です。しかし、多数の見込み客に対してこれらのタスクを手作業で処理するのは時間がかかり、人的ミスも発生しやすくなります。
これらの見込み客をアプリケーションにインポートしている場面を想像してください。この処理を効率化するため、見込み客のインポートが成功した後に実行されるバッチワークフローを作成できます。リードスコアを計算し、インポートされた見込み客にリードオーナーを割り当てる処理を設定することが可能です。
実行前ブロック
- リード処理の開始について、関係者へ通知するなどの初期化タスクを実行します。
バッチブロックの実行時
- バッチサイズを設定し、見込み客を管理しやすい単位で処理します。
- 事前に定義した基準に基づいてリードスコアを計算し、エリアマッピングや業務量分散アルゴリズムを用いて適切なリードオーナーを割り当てるスクリプトを作成します。
バッチ実行後ブロック
- バッチ実行の完了または失敗に応じた処理を実装します。
- リード処理の完了を関係者へ通知し、リードスコアや担当者割り当てに関する統計情報を含む処理済み見込み客のインサイトを提供します。
- この機能により、見込み客データの自動処理が管理しやすいバッチ単位で可能となり、効率性と正確性が確保されます。
ケース2: カスタムスケジュールの設定
あなたがeコマースシステムを管理しており、日中に注文を受領しているとします。順番 ManagementというCreatorアプリケーションを作成しています。マーケティングマネージャーとして、毎月アプリケーションレポートから顧客フィードバックを集計し、顧客満足度に関するレポートを生成したいと考えています。バッチワークフローを作成し、データ元を指定して必要なスクリプトを指定した時間に実行し、収集したデータを関係者と簡単に共有できます。
9. バッチワークフロー作成のナビゲーションガイド
Solutionsタブに移動し、必要なアプリケーションを開きます。次に、画面上部の
ワークフロータブをクリックしてワークフローダッシュボードに移動します。ここでバッチワークフローセクションを選択し、
こちらに記載された手順に従ってください。
10. 知っておくべきこと
- アプリケーションのデータが正常にインポートされた後、または指定した時間にバッチワークフローを設定できます。
- 同じフォームに対して異なる、または同一の条件で複数のバッチワークフローを作成できます。
- バッチブロック内のすべてのバッチは順番に実行されます。
- バッチワークフローの実行状況はアプリケーションログセクションから確認できます。キューの状態、進行中の実行、完了や失敗のステータスを表示します。
- 最初の5バッチブロックの失敗に対してエラーログを表示でき、実行失敗の理由を把握できます。
- ブロック内のいずれかのバッチが失敗した場合、そのバッチのみがリバートされ、バッチワークフローは他のバッチの実行を継続します。該当ブロックの失敗メッセージはログで確認可能です。
- バッチワークフローは、10、50、100、200、500、1000件のデータ単位で実行できます。
- アカウントごとに一度に最大100件のバッチワークフローを作成できます。
- ご利用の料金プランに応じて、アカウントごとに1日に実行できるバッチブロックの回数に上限があります。
- 各バッチの実行タイムアウトは1分です。例えば、1000件のバッチブロックを設定した場合、1000件のデータの実行タイムアウトも1分となります。
- 同様に、「が次の前」と「が次の後」実行バッチブロックのタイムアウトはそれぞれ30秒です。
11. 制限事項
- このワークフローは現在、連携フォームには対応していません。
- ユーザーはバッチワークフロー内で最大5個の変数を作成できます。
- 1アカウントにつき、同時に実行できるバッチワークフローは1件のみです(作成日順)。追加のバッチワークフローは実行待ちキューに入り、リソースの公平な配分とシステムリソースの過負荷防止が確保されます。
Delugeの制限事項
- 『修正前』キーワードは「次の値と等しくない」がバッチワークフローでサポートされています。
- Infoメッセージは50KBを超えることはできません。これを超えると、メッセージは切り捨てられます。
- 添付ファイルの最大サイズは15 MBです。添付ファイルがこの制限を超えた場合、メールは添付ファイルなしで送信されます。
- 指定したファイルの内容を取得したり、ファイルオブジェクトを必須の内容で作成したい場合、該当するファイルのサイズは2 MB未満である必要があります。
- getUrl()およびpostUrl()タスクは現在サポートされていません。
- グローバル変数に値を割り当てることはできません。ただし、info支払明細を使ってアクセスは可能です。
- 範囲指定での取得および削除の操作は最大5000件までに制限されています。
- 以下のDeluge操作はバッチワークフローでサポートされていません。
- 項目のすべての値の取得
- 集計関数(distinct以外)の取得済みデータへの使用
- getall組み込み関数の使用
- クライアント関数
メモ: 上記の制限は、バッチワークフローから実行される関数呼び出しにも適用されます。
- データの理解
- バッチワークフローの作成と管理