Apex CPU time limit exceeded エラーへの対処
「Apex CPU time limit exceeded…」との エラーが発生した場合の対処について説明します。
<目次>
- 1 エラー内容と発生原因
- 2 回避策
- 3 注意事項
エラー内容と発生原因
エラー内容
「… System.LimitException: Apex CPU time limit exceeded …」
発生原因
データローダやデータ登録ユーティリティで、1トランザクションで使用する最大 CPU 時間のガバナ制限に抵触した際に出力されます。
ガバナ制限の詳細については「ガバナ制限について」を参照してください。
回避策
バッチサイズ(1回の処理で実行する件数)を小さくすることで、回避できる可能性があります。
データローダおよびデータ登録ユーティリティでのバッチサイズの変更方法を説明します。
データローダのバッチサイズを変更する
データローダを起動します。
[Settings]-[Settings]をクリックします。
[Batch size]を変更します。
[OK]をクリックします。
データ登録ユーティリティでバッチサイズを変更する
データ登録ユーティリティフォルダ内の[config]>[config-Entry-XXXXX.xml]ファイルを開きます。
標準では[XXXXX]に登録/更新するオブジェクト名が記載されています。[batchSize]の項目を変更します。
変更したファイルを保存します。
注意事項
バッチサイズを小さくした場合は、登録/更新する時間が長くなります。
バッチサイズを小さくした場合は、SalesforceのAPIを多く消費します。