📖摘要
今天博主将给大家分享–Salesforce(0):使用Apex Scheduler进行计划作业。欢迎关注收藏!
🌂首先
Apex计划程序说明和最佳实践
- Salesforce计划在指定时间执行该类。根据服务可用性,实际执行可能会延迟。
- 如果您计划从触发器安排课程,请格外小心。您必须能够保证触发器不会添加超出限制的计划班级。尤其要考虑API批量更新,导入向导,通过用户界面进行的批量记录更改以及所有一次可以更新一个以上记录的所有情况。
- 尽管可以在execute方法中进行其他处理,但我们建议所有处理都在单独的类中进行。
- 计划的Apex不支持同步Web服务标注。为了能够进行标注,可以通过将标注放置在带有@future(callout = true)注释的方法中来进行异步标注,并从计划的Apex中调用此方法。但是,如果计划的Apex执行批处理作业,则批处理类支持标注。请参阅使用批处理Apex。
- 当系统资源可用时,计划在Salesforce服务维护停机期间运行的Apex作业将计划在服务恢复后运行。如果在发生停机时间时正在运行计划的Apex作业,则该作业将回滚并在服务恢复后再次计划。请注意,在主要服务升级后,由于系统使用率高峰,启动排定的Apex作业的延迟可能比平时更长。
我们使用Apex Scheduler调度控制器以在将来的给定时间执行它。为此,请创建一个Apex Scheduler Controller,并要调度此控制器,请执行以下操作:…从 管理设置->监视->调度作业中,我们选择该Controller类,然后提供一些时间和日期以在将来执行它。
以下是Apex Scheduler Controller发送电子邮件的示例代码:
global class ApexScheduledClass Implements Schedulable
{
global void execute(SchedulableContext sc)
{
sendmail();
}
public void sendmail()
{// Please add your logic according to requirement
Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
string [] toaddress= New string[]{'demo@gmail.com'};
email.setSubject('Testing Apex Scheduler-Subject');
email.setPlainTextBody('Testing Apex Scheduler-Body');
email.setToAddresses(toaddress);
Messaging.sendEmail(New Messaging.SingleEmailMessage[]{email});
}
}
🎉最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!