# タスク使用量の最適化

レシピを作成するにはさまざまな方法があり、複数の戦略を採り入れてタスクの使用量を調整できます。以下のドキュメントでは、顧客がタスクの使用量を調整する場合に採用できる戦略を紹介しています。実装可能な戦略は、顧客のビジネスのユースケースによって異なります。

この記事で紹介する多くのプラクティスの要点は、以下の3つの点にまとめられます。レシピ開発者は、これらの点に留意しつつレシピを作成できます。

  • レシピのトリガーが必要な頻度
  • バッチまたは一括アクションの活用
  • Workato ツールの効率的な使用

# ポーリングトリガーの頻度の調整

レシピのトリガーが必要な頻度は、ビジネスのユースケースによって異なります。一部のレシピは重要な更新を行うために必ずリアルタイムで実行する必要がある一方で、保存や他の目的のためにデータを同期するレシピでは、リアルタイムで実行する必要がない場合もあります。このような場合、ポーリング間隔を設定することで、ジョブの数を減らし、結果として処理されるタスクの数を減らすことができます。

レシピのデフォルトのポーリング間隔は5分ごとです。Workato のトリガーのほとんどは、ポーリングベースのトリガーです。つまり、監視対象のトリガーイベントが発生していないか、トリガーアプリケーションを5分の間隔で定期的にチェックします。

トリガーの頻度を調整するために、顧客は Trigger Poll Interval 項目を使用できます。これは、トリガー設定の任意の設定項目として利用できます。この項目では、一連のオプション (6時間ごと、1日ごと、30日ごとなど) から選択するか、独自のポーリング間隔を分単位で定義できます。

ポーリング間隔の変更 ポーリング間隔の変更

ポーリング間隔を変更することで、レシピで各ステップを処理する回数を制御して、タスクの使用量を改善することができます。この戦略は、バッチまたは一括トリガーやアクションと組み合わせて使用できます。

# スケジュールされたジョブの実装

前述のポーリング頻度のカスタマイズと同様に、Scheduler by Workato やその他のスケジュールされたバッチトリガーを使用してジョブをスケジュールすることで、一定期間に処理する必要があるジョブの数を調整できます。

5分ごとの定期的なポーリングを使用して新しいイベントをチェックする代わりに、スケジュールされたトリガー (1日に1回実行、1時間ごとに実行など) を使用すると、同じ数のレコードを大きなバッチで処理して、必要なジョブの数を制御できます。

# バッチまたは一括のトリガーとアクションの使用

バッチおよび一括のトリガーとアクションは、API を介してこれらの操作をサポートするすべてのコネクターで利用可能です。これらのトリガーやアクションは、1つのアクションで何億ものレコードを処理できます。そのため、単一レコード操作の代わりにこのようなトリガーやアクションを使用することで、1つのジョブのタスク使用量を大幅に減らすことができます。

一度に1件のレコード (1タスク) を処理するのではなく、一度に100件のレコードのバッチ (1タスクとしてカウント) を処理できます。そうすると、タスクの使用を1/100に減らすことになります。

バッチまたは一括のトリガーとアクション バッチまたは一括のトリガーとアクションの使用

バッチおよび一括のトリガーのほとんどにおいて、バッチサイズ (例 : 1つのバッチで100件のレコードを処理) を指定できます。これは通常、1つのジョブで処理されるレコードの数に相当します。バッチサイズを大きくすると、ジョブの数を減らすことができ、それに応じてタスクの数も削減できます。

バッチおよび一括のアクションを使用するには、まず、ワークスペースに [ELT/ETL Bulk data processing] アドオンがあることを確認します。これにより、バッチおよび一括のアクションを使用できるようになります。

次に、レシピ内のアプリケーションが、バッチおよび一括のトリガー (opens new window)アクション (opens new window)をサポートしていることを確認します。バッチ処理をサポートするトリガーやアクションはいくつかのコネクターに含まれています。たとえば、データベースコネクター (SQL Server、MySQL など)、CSV ファイルを使用するクラウドストレージコネクター (Box、Amazon S3 など)、Salesforce コネクターなどです。最良の結果を得るには、常にバッチおよび一括のトリガーと、バッチおよび一括のアクションを一致させてください。

# ストリーミングアクションの使用

ストリーミングとは、ファイルを小さな単位 (チャンク) で順次読み書きする方式のことです。この方式を使用することで、Workato では送信システムおよび受信システムのファイルサイズの上限に達することを気にせずに、アプリやファイルシステム間で大きなファイルを転送できます。共有ファイルシステム (SFTP) から分析用ファイルホスティングプラットフォーム (Amazon S3) へのレコード転送が、この一例としてあげられます。

ストリーミングアクションでは、1つのアクションで大量のデータを処理することができます。処理のためにアクションを複数のジョブに分割する必要はありません。ダウンロード元とアップロード先の両方のアクションがストリーミングをサポートする必要があることに注意してください。

# 複数の変数の宣言

複数の変数の宣言 複数の変数の宣言

複数の変数を可能な限り1つのステップで宣言することで、タスク数を削減できます。これを行うには、[Create variables] アクションと [+ Add variable] ボタンを使用して、複数の変数を一度に宣言します。

TIP

2021年春に、複数の変数を1つのステップで宣言できる機能が追加されました。Workato はすべての管理者に対して、多くの変数が作成されている既存のレシピを見直し、可能であれば1つのステップに統合することをお勧めします。


Last updated: 2023/8/31 1:07:14