Asynchronous Apex

DEX455 - 异步 Apex 完全指南:Queueable、Scheduled、Batch 与 Future 方法

📄 第 235 页 🎬 视频课程

课程章节介绍

同学们,我们来看一下这一页幻灯片。这一页给大家概述了Apex里几种异步运行代码的方式。不过我先纠正一点:这里写的“同步运行”其实应该是,异步运行,,因为这些方法都是让代码在后台跑,不会让用户一直等着,待会你们就明白了。 咱们可以把异步执行想象成你在餐厅点餐:同步就是你站在柜台等菜做好,啥也干不了;异步就是你下完单拿个号,然后可以回座位刷手机,菜好了会叫你。在Salesforce里,有些操作可能需要很长时间,或者要处理超大量的数据,如果同步执行,系统资源会被卡住,用户体验也很差。所以就有了这几种后台处理的方式。 幻灯片上列出了四种,我们一个一个来讲: ,第一种:未来方法, 未来方法是最简单的一种异步调用。你只需要在方法前加上`@future`注解,告诉系统:“嘿,这个方法不用马上跑,有空的时候后台处理一下就好。” 它特别适合简单的长时间操作,比如调用外部的Web服务。不过它很简陋,你不能传复杂的对象(只能传基本类型),也没法知道任务跑得怎么样了,更不能一个任务跑完再自动触发下一个。就像你让朋友帮你寄封信,说完就走了,后面啥情况你也不知道。 ,第二种:批量Apex, 批量Apex专门用来对付海量数据。比如你要更新几万甚至几十万条记录,如果一次性处理,很容易撞到系统的调控器限制。批量Apex会把数据拆成一小块一小块(默认每块200条),然后一块一块地处理。它有三个阶段:`start`方法准备数据,`execute`方法处理每一块,`finish

关键词

Apex Salesforce Developer Guide