この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

future メソッドの制限値の緩和 (パイロット)

この機能は、特定の契約条件への同意が必要なパイロットプログラムを通じて一部のお客様に提供されています。このプログラムに参加する方法については、Salesforce にお問い合わせください。パイロットプログラムは変更される可能性があるため、参加は保証されません。このドキュメント、プレスリリース、または公式声明で参照されているこのパイロット機能は正式リリースされていません。特定期間内の正規リリースあるいはリリースの有無は保証できません。現在正式にリリースされている機能に基づいて購入をご決定ください。

メモ

Apex future メソッド (@future アノテーションが付加されたメソッド) には、現在、ヒープサイズ、CPU タイムアウト、および SOQL クエリに対して非同期制限値が高く設定されています。このパイロットでは、future メソッドのこれらの値や別の制限の値をさらに緩和するように指定できます。future メソッドでガバナ制限を超えている場合、または future メソッドの制限を緩和する必要を感じている場合は、future メソッドのこの制限値を増やすことができます。

制限を緩和して future メソッドを実行すると、すべての future メソッドの実行速度が低下するおそれがあります。

メモ

future メソッドごとに、次のいずれかの制限値を 2 倍または 3 倍に設定できます。
  • ヒープサイズ
  • CPU タイムアウト
  • SOQL クエリの数
  • 発行される DML ステートメントの数
  • DML 操作 Aprroval.process または Database.emptyRecycleBin の結果として処理されるレコードの数
メソッド定義で @future アノテーションの一部として指定して制限を緩和するには、limit パラメータを次の構文で使用します。
たとえば、future メソッドで許容されているヒープサイズの量を 2 倍にするには、メソッドを次のように定義します。

指定できる制限の緩和は future メソッドごとに 1 つのみです。変更可能な制限値のうち、メソッドで最も必要なものを決定してください。

ヒント

次の制限修飾子がサポートされています。アノテーション内の limits パラメータに渡す文字列値では、大文字と小文字が区別されます。

修飾子 説明
@future(limits='2xHeap') ヒープサイズの制限値が 2 倍 (24 MB) になります。
@future(limits='3xHeap') ヒープサイズの制限値が 3 倍 (36 MB) になります。
@future(limits='2xCPU') CPU タイムアウトが 2 倍 (120,000 ミリ秒) になります。
@future(limits='3xCPU') CPU タイムアウトが 3 倍 (180,000 ミリ秒) になります。
@future(limits='2xSOQL') SOQL クエリ数の制限値が 2 倍 (400) になります。
@future(limits='3xSOQL') SOQL クエリ数の制限値が 3 倍 (600) になります。
@future(limits='2xDML') DML ステートメント数の制限値が 2 倍 (300) になります。
@future(limits='3xDML') DML ステートメント数の制限値が 3 倍 (450) になります。
@future(limits='2xDMLRows')1 DML 操作の結果として処理されるレコードの数が 2 倍 (20,000) になります。
@future(limits='3xDMLRows')1 DML 操作の結果として処理されるレコードの数が 3 倍 (30,000) になります。

1 Aprroval.process および Database.emptyRecycleBin 操作を含みます。