私の本番環境には、かなりの数のトリガーとクラスがあります。これらはすべてうまく機能し、正常に機能しています。ただし、テストクラスが将来のメソッドを呼び出しすぎているため、いくつかの新しいトリガーをデプロイできません。実行ごとに1回だけfutureメソッドを呼び出すように、コードがバルク化されていることを保証します。ただし、トリガーがIDEを介してデプロイされている場合、すべてのテストが実行され、その結果、将来の呼び出しが何度も実行されます。
制限に達した場合にcatchメソッドにルーティングされることを期待して、今後のすべての呼び出しの周りにtry/catchを配置してみました。同じエラーが発生しますが、それでも展開は失敗します。
私が行っている主な将来の呼び出しは、1つのクラスを通じてのみ参照可能です。これは、私のWebサイトにpingを送信するHTTP呼び出しです。
すべてのテストクラスを完全にやり直す以外に、この制限を回避する方法はありますか?以下に示すように、過剰な将来の呼び出しは(default)
、特定のトリガーではなく、発生しています。
10:39:15.617|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 85 out of 100 ******* CLOSE TO LIMIT
Number of query rows: 1474 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 19 out of 150
Number of DML rows: 23 out of 10000
Number of script statements: 2370 out of 200000
Maximum heap size: 0 out of 6000000
Number of callouts: 0 out of 10
Number of Email Invocations: 0 out of 10
Number of fields describes: 0 out of 100
Number of record type describes: 0 out of 100
Number of child relationships describes: 0 out of 100
Number of picklist describes: 0 out of 100
Number of future calls: 11 out of 10 ******* CLOSE TO LIMIT