我正在尝试运行一个可调度的作业我从未在 salesforce 中使用过可调度的作业
这是我的代码
global class scheduledMerge implements Schedulable{
global void execute(SchedulableContext SC) {
System.debug('Hello World');
}
}
created a cusom controller
public class schedulableMerge{
public schedulableMerge(){
}
public PageReference Hello(){
scheduledMerge m = new scheduledMerge();
String sch = '0 10 * * 1-12 ? *';
system.schedule('Merge Job', sch, m);
return null;
}
}
Visualforce 页面是
<apex:page controller="schedulableMerge">
<!-- Begin Default Content REMOVE THIS -->
<h1>Congratulations</h1>
This is your new Page
<!-- End Default Content REMOVE THIS -->
<apex:form >
<apex:commandButton value="Press it" action="{! Hello}" />
</apex:form>
</apex:page>
当我按下按钮时,所有可调度的作业中有一项作业,但只有一个选项与之一起删除。没有管理选项。我认为这项工作应该每 10 分钟运行一次。我从“监控”>“调试日志”中看到了调试日志,它没有显示任何日志。你能告诉我每一分钟运行作业的表达式是什么以及在哪里可以看到调试日志吗?我的目标是看到可调度工作的工作
好消息 - 您不需要 Visualforce 页面和控制器。坏消息 - 您不能以 1 分钟的间隔安排作业。我认为 5 分钟是最短的(但我不确定,你必须尝试一下)。
如何按需运行它(一次)?从开发者控制台或 Eclipse 的“执行匿名”块。
确保您的用户已添加到调试日志中并简单地强制运行execute
您必须作为接口的一部分实现的方法:
scheduledMerge sm = new scheduledMerge();
sm.execute(null);
当您对一次运行成功完成感到满意后,尝试使用 cron 表达式。如果您愿意每天一次的频率 - 您根本不需要这些表达式,请转至设置 -> 开发 -> 类,然后单击 [Schedule Apex]。仅当您每天需要多次运行时,才使用代码来安排课程。
最后但并非最不重要的一点 - 转到设置并在搜索中输入“Apex jobs”。您应该看到最近执行的所有异步任务的信息(计划作业、批次、@future
方法等)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)