博客园龄有两年多了,看了一下我发的文章数和最后发布的日期,不禁的心头一怔,已经有一年都没有写更新博客了。突然想起一个句子好像说的是我:间歇性踌躇满志,持续性懒惰等死。最近也看到一位好朋友的qq个性签名,人生是走出来的美丽。是啊,人生是走出来的美丽,不是等出来的辉煌。。。

  言归正传:

  在salesforce中的schedule job是一个很重要的东西,可以对程序进行定时执行,和批量执行的处理。

  在console里设置schedule job的方法:

  System.schedule('schedule_job_name','20 30 8 10 2 ?', new schedule_job_Class());   ss mm hh

  这样简单的设置,只能够实现的执行最短周期为1小时。可是在项目的开发过程中会遇到各种的需求,有需要没几分钟执行一次的情况那么,我们就不能够这样简单的设置了:

  

global class ScheduleClassName implements Schedulable {
//ScheduleJob执行
global void execute(SchedulableContext sc) {
// 1.ScheduleJob情报取得
CronTrigger ct = [SELECT id, CronExpression, StartTime, EndTime, NextFireTime, PreviousFireTime, TimeZoneSidKey
FROM CronTrigger
WHERE id = :sc.getTriggerId()];
// 2.実行秒数から何回目の実行か判別
String jobTime = ct.CronExpression;
// 3.需要处理的内容
//---------------------------// // 4.删除当前的ScheduleJob (ScheduleJob 不可以重名)
System.abortJob(ct.id); // 5.1.获取当前的时间
Datetime nowDate = System.now();
// 5.2设定隔几秒执行(现在是隔5秒执行)
nowDate = nowDate.addMinutes(Integer.valueOf());
jobTime = nowDate.format('0 m * * * ?');
System.debug('***** 下次的执行时间 : ' + jobTime);
String strTime = DateTime.now().format('yyyyMMddHHmmssSSS');
System.schedule('Schedule_Job_Name'+strTime,jobTime, new ScheduleJobClass());
}
}

以上每隔5秒执行一次scheduleJob的思想是,将当前的job删除掉然后再设定一个,为5秒后执行,这样就会每个5秒后就会执行scheduleJob了。

sf中schedule设定的更多相关文章

  1. sf中标准的分页功能介绍

    世上本无事,庸人自扰之.我喜欢一个相对比较安静的环境去学习和工作,希望在一个掉一根针的声音都能够听到的环境中,但是有时候往往相反,一片嘈杂,我改变不了周围的环境,只能改变自己,其实这些都没有什么,也许 ...

  2. 窗体的基类中没有设定大小,所以才不能居中,若要窗体居中,必须使用setfixedsize()函数或者resize()函数设定窗体的大小,居中才能正常使用

    最近开发中,遇到了窗体不能居中的问题,看了网上的很多文章,窗口居中,无非都是move至窗口的中心目标; 有两种方式, 一种在构造函数中直接计算中心坐标; 另一种是在窗口show后再move至相应坐标. ...

  3. Timer中schedule()的用法

    schedule的意思(时间表.进度表) timer.schedule(new TimerTask(){ void run()},0, 60*60*1000);timer.schedule(new M ...

  4. MCP|MZL|Accurate Estimation of Context- Dependent False Discovery Rates in Top- Down Proteomics 在自顶向下蛋白组学中精确设定评估条件估计假阳性

    一. 概述: 自顶向下的蛋白质组学技术近年来也发展成为高通量蛋白定性定量手段.该技术可以在一次的实验中定性上千种蛋白,然而缺乏一个可靠的假阳性控制方法阻碍了该技术的发展.在大规模流程化的假阳性控制手段 ...

  5. 如何在Spring Boot 中动态设定与执行定时任务

    本篇文章的目的是记录并实现在Spring Boot中,动态设定与执行定时任务. 我的开发项目是 Maven 项目,所以首先需要在 pom.xml 文件中加入相关的依赖.依赖代码如下所示: <de ...

  6. python中schedule模块的简单使用 || importlib.import_module动态导入模块

    1 import schedule 2 import time 3 4 def start(): #定义一个函数 5 print("****") 6 7 8 if __name__ ...

  7. 分布式集群中,设定时间同步服务器,以及ntpd与ntpdate的区别

    什么时候配置时间同步? 当分布式集群配置好了以后,马上配置的是SSH无密钥配置,然后就是配置时间同步. 时间同步在集群中特别重要. 一:时间同步 1.时间同步 集群中必须有一个统一的时间 如果是内网, ...

  8. 030 分布式集群中,设定时间同步服务器,以及ntpd与ntpdate的区别

    什么时候配置时间同步? 当分布式集群配置好了以后,马上配置的是SSH无密钥配置,然后就是配置时间同步. 时间同步在集群中特别重要. 一:时间同步 1.时间同步 集群中必须有一个统一的时间 如果是内网, ...

  9. 二十六、关于 IntelliJ IDEA 中 Schedule for Addition 的问题

    在我们使用 IntelliJ IDEA 的时候,经常会遇到这种情况,即: 从 SVN 检出项目之后,并用 IDEA 首次打开项目,IDEA 会弹出如下选择框: 如上图所示,让我们选择是否将XXX.im ...

随机推荐

  1. HNCU1323:算法2-1:集合union (线性表)

    http://hncu.acmclub.com/index.php?app=problem_title&id=111&problem_id=1323 题目描述 假设利用两个线性表LA和 ...

  2. Objective-C非正式协议与正式协议

    这两个概念困扰我很久了,一直都很像搞清楚到非正式协议和正式协议有什么区别和联系,下面结合网上的资料和自己的看法谈谈这个问题. 一.非正式协议 显然这个名词是相对于正式协议而言的.在解释非正式协议之前, ...

  3. (转)Tomcat 配置成https协议

    Tomcat 配置成https协议 TomcatXMLServlet  在命令提示符窗口,进入Tomcat目录,执行以下命令: keytool -genkey -alias tomcat -keyal ...

  4. Linux进程分配内存的两种方式--brk() 和mmap()

    如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看. majflt代表major fault,中文名叫大错误,minflt代表minor faul ...

  5. openstack中的floating ip与阿里云的公网ip

    项目组因业务需求使用openstack搭建了一个私有云,本想在vm上搭建一个ftp.源是vsftpd.所有配置都完成了,在远程登录的时候却出现了 这个问题. 初一看以为是文件夹权限的问题,可上上下下全 ...

  6. window.onload多个共存 - 借鉴jQuery.noConflict的思路

    一.背景  window.onload方法只能存在一个,如果多次赋值给window.onload,则后者会覆盖前者. 二.浅谈jQuery.noConflict的实现方式 1)源代码 // 简化抽离出 ...

  7. C语言之原码、反码和补码

    原码.反码和补码 1).数据在内存中存储的时候都是以二进制的形式存储的. int num = 10; 原码.反码.补码都是二进制.只不过是二进制的不同的表现形式. 数据是以补码的二进制存储的. 2). ...

  8. Cordova环境搭建与hello word

    一.环境下载 1.下载并安装Node.js 安装一路下一步即可 2.下载并安装Git 安装一路下一步即可 3.配置Android开发平台环境 (1)下载JDK (2)下载AndroidSDK (3)下 ...

  9. CSS3的线性渐变(linear-gradient)

    CSS3渐变(gradient)可分为线性渐变(linear-gradient)和径向渐变(radial-gradient).今天给大家说一说线性渐变. 以webkit内核浏览器为例, 语法: div ...

  10. js 禁止复制粘贴全选

    // 取消右键菜单document.oncontextmenu = function(e){ var t = e || window.event; var elm = t.target || t.sr ...