在Salesforce中建立Scheduler的方式有两种

在Develop->Apex Classes页面,点击Schedule Apex按钮之后会提供如下的面板。

这个面板虽然能方便的决定Scheduler执行的频率,但是最高频率也只能是一天一次。

 

再有就是使用Apex。在匿名块中使用系统函数设定Scheduler,可以获得更高的频率。

所以,如果想设定一小时执行的Scheduler就必须使用第二种方式。
需要使用的函数为System.schedule();
官方文档对此进行了详细的描述。具体参照下列示例代码。

1 // Sample 1 hour 1 time
2 System.schedule('My Scheduler','0 0 0/1 * * ?', new MyScheduler()); 

作为一个成熟的完善的系统,定时器与后台Job是必须的组成部分。
Scheduler就是Linux Cron的强力山寨。
所以System.schedule()中的第二个参数,就等同于Cron表达式(当然,只能算一个子集)。

为什么要把一小时一次单独拎出来,因为,这是Scheduler的最小粒度。
Scheduler表达式的秒位与分位是不支持“/”符号的。

所以,想几分钟执行一次的,放弃吧。

 

海外同步地址:https://wp.me/p3i9xe-bP

posted on 2017-02-19 14:42  夏晚  阅读(990)  评论(0编辑  收藏  举报