Apex CPU time limit exceeded

在Salesforce中,每个事务的CPU时间限制为10秒(同步)或60秒(异步)。当Apex代码、工作流执行和其他库函数消耗时间超过限制时,会引发'CPU time limit exceeded'错误。为了避免这种情况,可以采用以下策略:1) 使用Map为基础的查询;2) 将代码拆分为异步任务,如使用@future注解;3) 将计算移到SOQL查询内利用聚合函数;4) 只对必要数据进行循环,减少循环次数和CPU时间消耗。
摘要由CSDN通过智能技术生成
学习目的:
1,了解CPU time limit
2,怎么避免 CPU time limit exceeded

CPU time limit

salesforce是一个云租户平台,为了防止个别或者部分用户长期性或垄断性的占用资源,salesforce限定单个事务能够占用CPU的时长为10S(同步),60S(异步)。当然有一些时间是不计入这个时间统计的,比如说花在从数据库获取数据的时间,等待callout的响应时间等。在服务端的一个事务里面,如果DML操作引发了验证规则,那么执行验证规则的时间则会计入cpu执行时长,任何在这个事务里面code触发的processes所花费的时长都会被计入。例如package code and workflows。

那些情况会计入CPU花费时长:
All Apex code
Library functions exposed in Apex
Workflow execution

那些情况会计入CPU花费时长:
Database operations, e.g. DML, SOQL
SOSL
HTTP callouts

避免 CPU time limit exceeded

1,Using Map based query
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值