Apex CPU time limit exceeded エラーへの対処

「Apex CPU time limit exceeded…」との エラーが発生した場合の対処について説明します。

<目次>

エラー内容と発生原因


エラー内容

「… System.LimitException: Apex CPU time limit exceeded …」

発生原因

データローダやデータ登録ユーティリティで、1トランザクションで使用する最大 CPU 時間のガバナ制限に抵触した際に出力されます。

ガバナ制限の詳細については「ガバナ制限について」を参照してください。

回避策


バッチサイズ(1回の処理で実行する件数)を小さくすることで、回避できる可能性があります。

データローダおよびデータ登録ユーティリティでのバッチサイズの変更方法を説明します。

データローダのバッチサイズを変更する

  1. データローダを起動します。

  2. [Settings]-[Settings]をクリックします。

  3. [Batch size]を変更します。

  4. [OK]をクリックします。

データ登録ユーティリティでバッチサイズを変更する

  1. データ登録ユーティリティフォルダ内の[config]>[config-Entry-XXXXX.xml]ファイルを開きます。
    標準では[XXXXX]に登録/更新するオブジェクト名が記載されています。

  2. [batchSize]の項目を変更します。

  3. 変更したファイルを保存します。

注意事項


  • バッチサイズを小さくした場合は、登録/更新する時間が長くなります。

  • バッチサイズを小さくした場合は、SalesforceのAPIを多く消費します。