• sf中schedule设定


      博客园龄有两年多了,看了一下我发的文章数和最后发布的日期,不禁的心头一怔,已经有一年都没有写更新博客了。突然想起一个句子好像说的是我:间歇性踌躇满志,持续性懒惰等死。最近也看到一位好朋友的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(5));
            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了。

  • 相关阅读:
    Python接口自动化(十一) Json数据处理
    Python接口自动化(十)重定向(Location)
    数据结构——定长串的实现
    数据结构图的建立和遍历(邻接表、邻接矩阵)
    数据结构——栈的顺序存储表示
    数据结构单链队列——链式存储实现
    数据结构线性表——链表实现
    数据结构顺序表——线性表实现
    HDU-1874-畅通工程续 (最短路 贝尔曼Bellman_Ford)
    Hrbust-2122 旅行(最短路)
  • 原文地址:https://www.cnblogs.com/yuxin-555xt/p/sf_scheduleSettting.html
Copyright © 2020-2023  润新知