No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
future メソッドの制限値の緩和 (パイロット)
Apex future メソッド (@future アノテーションが付加されたメソッド) には、現在、ヒープサイズ、CPU タイムアウト、および SOQL クエリに対して非同期制限値が高く設定されています。このパイロットでは、future メソッドのこれらの値や別の制限の値をさらに緩和するように指定できます。future メソッドでガバナ制限を超えている場合、または future メソッドの制限を緩和する必要を感じている場合は、future メソッドのこの制限値を増やすことができます。
future メソッドごとに、次のいずれかの制限値を 2 倍または 3 倍に設定できます。
- ヒープサイズ
- CPU タイムアウト
- SOQL クエリの数
- 発行される DML ステートメントの数
- DML 操作 Aprroval.process または Database.emptyRecycleBin の結果として処理されるレコードの数
メソッド定義で @future アノテーションの一部として指定して制限を緩和するには、limit パラメータを次の構文で使用します。
1@future(limits='2x|3xlimitName')
2たとえば、future メソッドで許容されているヒープサイズの量を 2 倍にするには、メソッドを次のように定義します。
1@future(limits='2xHeap')
2public static void myFutureMethod() {
3 // Your code here
4}次の制限修飾子がサポートされています。アノテーション内の 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) になります。 |