精华内容
下载资源
问答
  • 定时任务的书写

    2019-05-13 17:11:00
     首先写一个要进行定时任务的class类 import com.vfly.logicservice.timedschedule.service.JobService; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.sp.....

    自己写一个定时任务

      首先写一个要进行定时任务的class类

    import com.vfly.logicservice.timedschedule.service.JobService;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.scheduling.quartz.QuartzJobBean;
    
    
    public class Testjob extends QuartzJobBean {
    
    @Autowired
    JobService jobService;
    
    @Override
    protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
    jobService.start();
    System.out.println("11111111111111111111");
    }
    }
    

      第二;写完类后,对类进行定时器设置(在配置文件中设置  quartz-schedule.xml  )

    定时任务配置文件在 resources\config\quartz-schedule.xml

    修改定时任务配置文件,并注意

    系统配置文件 quartz.schedule.startall=true 表示系统启动时,启动所有定时任务

    <?xml version="1.0" encoding="UTF-8"?>
    <CONFIG>
        <!--<WORKINFO>
            <JOBID>myjob1(定时任务的id )</JOBID>
            <JOBNAME>测试名字</JOBNAME>
            <GROUPID>system(定时任务组id)</GROUPID>
            <INFO>测试描述</INFO>
            <CLASSNAME>com.vfly.schedule.Job1(要进行定时任务的类的路径)</CLASSNAME>
            <CRON>0/5 * * * * ?(定时任务的时间间隔。下面是对照表)</CRON>
        </WORKINFO>-->
        <WORKINFO>
            <JOBID>posturl</JOBID>
            <JOBNAME>post检测</JOBNAME>
            <GROUPID>mon</GROUPID>
            <INFO>url的http和https地址检测</INFO>
            <CLASSNAME>com.vfly.schedule.Posturl</CLASSNAME>
            <CRON>0 0/1 * * * ?</CRON>
        </WORKINFO>
    </CONFIG>
    
    
    
    
            <!--
            0/5 * * * * ?   每5秒一次触发
            0 0/2 * * * ?   每2分钟一次触发
            0 15 10 * * ? 	每天10点15分触发
            0 15 10 * * ? 2005 	2005年每天10点15分触发
            0 * 14 * * ? 	每天下午的 2点到2点59分每分触发
            0 0/5 14 * * ? 	每天下午的 2点到2点59分(整点开始,每隔5分触发)
            0 0/5 14,18 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发) 每天下午的 18点到18点59分(整点开始,每隔5分触发)
            0 0-5 14 * * ? 	每天下午的 2点到2点05分每分触发
            0 10,44 14 ? 3 WED 	3月分每周三下午的 2点10分和2点44分触发
            0 15 10 ? * MON-FRI 	从周一到周五每天上午的10点15分触发
            0 15 10 15 * ? 	每月15号上午10点15分触发
            0 15 10 L * ? 	每月最后一天的10点15分触发
            0 15 10 ? * 6L 	每月最后一周的星期五的10点15分触发
            0 15 10 ? * 6L 2002-2005 	从2002年到2005年每月最后一周的星期五的10点15分触发
            0 15 10 ? * 6#3 	每月的第三周的星期五开始触发
            0 0 12 1/5 * ? 	每月的第一个中午开始每隔5天触发一次
            -->
    

      

     

    转载于:https://www.cnblogs.com/cjeandailynotes/p/10857745.html

    展开全文
  • 一个cron表达式有至少6个(也可能7个)有空格分隔时间元素。 按顺序依次为 1.秒(0~59) 2.分钟(0~59) 3.小时(0~23) 4.天(月)(0~31,但是你需要考虑你月天数) 5.月(0~11) 6.天(星期)(1~7 1=...

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
    按顺序依次为
    1.秒(0~59)
    2.分钟(0~59)
    3.小时(0~23) 
    4.天(月)(0~31,但是你需要考虑你月的天数)
    5.月(0~11)
    6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
    7.年份(1970-2099)

    其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。
    由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.

    0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
    0 0/30 9-17 * * ??? 朝九晚五工作时间内每半小时
    0 0 12 ? * WED 表示每个星期三中午12点

    有些子表达式能包含一些范围或列表
    例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”

    “*”字符代表所有可能的值
    因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天

    “/”字符用来指定数值的增量
    例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 ;
    在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样

    “?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值
    当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”

     

    “L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写

    但是它在两个子表达式里的含义是不同的。

    在天(月)子表达式中,“L”表示一个月的最后一天 ,
    在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT

    如果在“L”前有具体的内容,它就具有其他的含义了

    例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最后一个星期五

    注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题

    ============================================

     

    CronTrigger配置完整格式为: [秒] [分] [小时] [日] [月] [周] [年]

     

     序号 说明  是否必填  允许填写的值 允许的通配符
     1  秒  是  0-59    , - * /
     2  分  是  0-59    , - * /
     3 小时  是  0-23   , - * /
     4  日  是  1-31   , - * ? / L W
     5  月  是  1-12 or JAN-DEC   , - * /
     6  周  是  1-7 or SUN-SAT   , - * ? / L #
     7  年  否  empty 或 1970-2099   , - * /

    通配符说明:
    * 表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。
    ? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?
    - 表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。
    , 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
    / 用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。 在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。
    L 表 示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样的格式,则表示“本 月最后一个星期五" 
    W 表 示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-").
    # 序号(表示每月的第几个周几),例如在周字段上设置"6#3"表示在每月的第三个周六.注意如果指定"#5",正好第五周没有周六,则不会触发该配置(用在母亲节和父亲节再合适不过了) ;

    小提示:
    'L'和 'W'可以一组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发;
    周字段的设置,若使用英文字母是不区分大小写的,即MON 与mon相同;
            
    常用示例:

                     每隔5秒执行一次:*/5 * * * * ?

     

                     每隔1分钟执行一次:0 */1 * * * ?

     

                     每天23点执行一次:0 0 23 * * ?

     

                     每天凌晨1点执行一次:0 0 1 * * ?

     

                     每月1号凌晨1点执行一次:0 0 1 1 * ?

     

                     每月最后一天23点执行一次:0 0 23 L * ?

     

                     每周星期天凌晨1点实行一次:0 0 1 ? * L

     

                     在26分、29分、33分执行一次:0 26,29,33 * * * ?

     

                     每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

     

     

    0 0 12 * * ? 每天12点触发
    0 15 10 ? * * 每天10点15分触发
    0 15 10 * * ? 每天10点15分触发
    0 15 10 * * ? * 每天10点15分触发
    0 15 10 * * ? 2005 2005年每天10点15分触发
    0 * 14 * * ? 每天下午的 2点到2点59分每分触发
    0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)
    0 0/5 14,18 * * ? 每天下午的 2点到2点59分、18点到18点59分(整点开始,每隔5分触发)
    0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发
    0 10,44 14 ? 3 WED 3月分每周三下午的 2点10分和2点44分触发
    0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发
    0 15 10 15 * ? 每月15号上午10点15分触发
    0 15 10 L * ? 每月最后一天的10点15分触发
    0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6#3 每月的第三周的星期五开始触发
    0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
    0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)

    定时任务中也会遇到cron的配置。

    项目在db中设置定时任务如下:
     cron转化网站:http://cron.qqe2.com/

    转载于:https://www.cnblogs.com/superJF/p/4054834.html

    展开全文
  • 小费:完成linux环境下jira的安装,开始部分任务的书写 小高:完成了jira的安装,并进一步熟悉了jira的功能,开始任务的规划 小王:指导其他组员完成jira的安装,熟悉并运用了jira功能,开始部分任务的书写 小郑...

    今日任务完成情况如下:

    小段:完成linux环境上jira的安装,并将jira的安装过程录制下来

    小费:完成linux环境下jira的安装,开始部分任务的书写

    小高:完成了jira的安装,并进一步熟悉了jira的功能,开始任务的规划

    小王:指导其他组员完成jira的安装,熟悉并运用了jira功能,开始部分任务的书写

    小郑:完成了jira在windows上的安装,并对小段和小费录制的视频进行剪辑

    小陈:完成jira的安装,查找并学习了应用了jira的成功案例的资料

    参考教程:

    https://www.cnblogs.com/yangxia-test/p/4448002.html

    https://confluence.atlassian.com/adminjiraserver074/installing-jira-applications-on-windows-881683162.html

    明日任务:

    利用jira完成一个相对完整的任务的创建,录制并剪辑视频

    转载于:https://www.cnblogs.com/hust-no-bug/p/7842108.html

    展开全文
  • 线程任务的书写

    2012-02-09 16:18:30
    基于jdk1.6的线程任务池负责线程池中任务的调度 package com.taobao.mmp.service.core.manager.threadpool; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; ...

    基于jdk1.6的线程任务池负责线程池中任务的调度

    package com.taobao.mmp.service.core.manager.threadpool;

    import java.util.concurrent.ArrayBlockingQueue;
    import java.util.concurrent.BlockingQueue;
    import java.util.concurrent.RejectedExecutionHandler;
    import java.util.concurrent.ThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    /**
     * 手机迁移任务线程池
     * 当一个任务通过execute(Runnable)方法欲添加到线程池时:
     * 如果此时线程池中的数量小于corePoolSize,即使线程池中的线程都处于空闲状态,也要创建新的线程来处理被添加的任务。
     * 如果此时线程池中的数量等于 corePoolSize,但是缓冲队列 workQueue未满,那么任务被放入缓冲队列。
     * 如果此时线程池中的数量大于corePoolSize,缓冲队列workQueue满,并且线程池中的数量小于maximumPoolSize,建新的线程来处理被添加的任务。
     * 如果此时线程池中的数量大于corePoolSize,缓冲队列workQueue满,并且线程池中的数量等于maximumPoolSize,那么通过 handler所指定的策略来处理此任务。
     * 处理任务的优先级为:
     * 核心线程corePoolSize、任务队列workQueue、最大线程maximumPoolSize,如果三者都满了,使用handler处理被拒绝的任务
     * 当线程池中的线程数量大于 corePoolSize时,如果某线程空闲时间超过keepAliveTime,线程将被终止。这样,线程池可以动态的调整池中的线程数。
     *
     */
    public class MigratePhoneThreadPool {
        protected Log log = LogFactory.getLog(MigratePhoneThreadPool.class);
        //线程池维护线程的最少数量
        private static int corePoolSize = 1;

        //线程池维护线程的最大数量
        private static int maximumPoolSize = 2;
        //线程池维护线程所允许的空闲时间
        private static long keepAliveTime = 2;

        //线程池维护线程所允许的空闲时间的单位
        //unit可选的参数为java.util.concurrent.TimeUnit中的几个静态属性:NANOSECONDS、MICROSECONDS、MILLISECONDS、SECONDS。
        private TimeUnit unit=TimeUnit.SECONDS;
        //线程池所使用的缓冲队列
        private BlockingQueue<Runnable> workQueue;
        //缓冲队列的最大长度
        private static int queueLength = 100;
        //线程池对拒绝任务的处理策略
        private RejectedExecutionHandler handler=new ThreadPoolExecutor.AbortPolicy();

        private ThreadPoolExecutor threadPool =null;
        
        public void setCorePoolSize(int corePoolSize) {
            MigratePhoneThreadPool.corePoolSize = corePoolSize;
        }

        public void setMaximumPoolSize(int maximumPoolSize) {
            MigratePhoneThreadPool.maximumPoolSize = maximumPoolSize;
        }

        public void setKeepAliveTime(long keepAliveTime) {
            MigratePhoneThreadPool.keepAliveTime = keepAliveTime;
        }

        public void setQueueLength(int queueLength) {
            MigratePhoneThreadPool.queueLength = queueLength;
        }
        
        public void init(){
            workQueue=new ArrayBlockingQueue<Runnable>(queueLength);    
            threadPool =new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime,
                    unit, workQueue,
                    handler);
            if(log.isWarnEnabled()){
                StringBuilder sb= new StringBuilder();
                sb.append("手机迁移任务线程池初始化信息:corePoolSize=").append(corePoolSize);
                sb.append(" maximumPoolSize=").append(maximumPoolSize).append(" keepAliveTime=");
                sb.append(keepAliveTime).append("秒  缓冲队列的最大长度=").append(queueLength);
                log.warn(sb.toString());
            }
        }
        
        public void execute(Runnable run){
            this.threadPool.execute(run);
        }


    }


    展开全文
  • 定时任务: * * * * * 分钟 小时 日 月 周(0-59) (0-23) (1-31) (1-12) (0-7)/n 每隔多久, 表示时间隔断- 表示时间段* 表示重复的时间书写定时任务的若干要领方法:要领1:为定时任务规则加必要的...
  • Unity中任务系统书写

    千次阅读 2015-02-14 10:27:25
    任务系统一直是游戏中非常重要系统,它一直伴随在游戏左右,玩家通过完任务去赚取装备,去升级,所以说任务系统是非常重要,值得我们好好去架构。在手机中的任务系统没有PC端那么复杂,在Unity中由于有委托以及...
  • crontab是linux运维必须掌握技能,虽然crontab好学,但是在实际书写过程中也会遇到各种坑:第一坑:比如写一个命令每天...2、00 12 * * * CMD这个错误原因是不了解定时任务书写小时是按照24小时制来写,晚...
  • 工作经验1、第一发现磁盘全部100%经查找发现大文件是/var/log/maillog 占了3G2、ps x 发现大量如下进程,最终导致了系统资源耗尽/usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root/usr/sbin/postdrop -...
  • SpringQuartz定时任务的使用,要配置这个定时任务什么时候执行,周期是多少,周期内执行多少次,这个都是cron表达式来控制的,下面详解一下这个cron表达式。 一、先来举些例子 【1】0 0 10,14,16  *  * &...
  • cron表达式用于配置cronTrigger实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。 1.Seconds (秒) 2.Minutes(分) 3.Hours(小时) 4.Day-of-Month (天) 5.Month(月) 6.Day-of-Week...
  • MySQL5.1.6起增加了事件调度器(Event Scheduler),可用来做定时执行某些特定任务,用于取代原先只能由操作系统计划任务来执行工作。MySQL事件调度器可以精确到每秒执行一个任务,而操作系统计划任务只能精确...
  • 由于最近的项目,整合了多个github上的项目,东拼西凑。 自己又没有注意代码书写的规范,也是这边看到功能就抄一点,...还有一件事就是任务的延续性,由于之前提过一个issue,我只完成了当前的issue的编写,就没在...
  • 本人是在现成代码中加入一个方法,作为练习,不具备通用性。 1 首先登陆页面书写: String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+...
  • SpringQuartz定时任务的使用,要配置这个定时任务什么时候执行,周期是多少,周期内执行多少次,这个都是cron表达式来控制的,下面详解一下这个cron表达式。一、先来举些例子【1】0 0 10,14,16 * * ? 每天上午10点,...
  • Cron表达式是一个字符串,字符串以5/6空格隔开,分为6/7个区域,每个区域代表一个含义,Cron有两种语法格式: (1)/Seconds minutes hours daymonth week year (2)/Seconds minutes hours ...*标识匹配该区域所...
  • 文章目录构造 Promise异步函数(async function) ...//reject 是出现异常时所调用: new Promise(function (resolve, reject) { // 要做事情... }); //new一个 promise new Promise(function (resolve, rejec
  • 1.1定时任务
  • 伪代码的书写

    千次阅读 2019-08-21 21:36:28
    伪代码的书写 在平常写程序的时候当程序过大,需要整理清思路,需要写伪代码。这时的伪代码不需要太多的规范,自己能看懂就好。 但是,若果是给别人看那需要一定的规范。。。 什么语言的伪代码就用什么语言的描述...
  • Linux定时任务

    2019-08-08 14:17:43
    Linux定时任务 1.定时任务crond介绍 crond - 执行预定命令的守护进程,相当于定时任务的服务,在系统...2.定时任务的书写位置 使用man crond来查看crond使用,其中有下面的一段描述: NAME crond - 执行预定命令的...
  • 需要:过滤掉 ‘中移电子商务有限公司’ 这家机构名称 方式一:!= and jgmc != '中移电子商务有限公司' 方式二:<> and jgmc <> '中移电子商务有限公司'
  • Linux之定时任务crond

    2020-05-13 16:03:53
    阅读目录(Content) 定时任务说明与分类 定时任务的应用场景举例 定时任务的三种分类 用户与系统定时任务 ... 定时任务的书写流程总结 定时任务九句箴言 01、定时任务命令之前要加一行注释 02、在写
  • 另一种思路的javascript异步编程解决方案,用于解决复杂的一连串异步任务,更优雅的书写异步代码
  • 书写岗位说明书误区 书写岗位说明书要注意什么呢,下面小编为大家搜集一篇“书写岗位说明书误区”,供大家参考借鉴,希望可以帮助到有需要朋友! 两页岗位说明书,也会让员工产生误解,甚至让hr部门误解?...
  • 目录 1、计划任务概说; 2、cron; 2.1 cron 的安装和启动; 2.1.1 在Redhat 或 Fedora等RPM包管理的系统的安装; 2.1.2 在Slackware系统中的安装;...2.2.2 cron 配置计划任务的书写格式 2....
  • 1.利用Timer来进行定时任务的书写,可以通过编译时间间隔来进行 TimerTask TimerTask类是一个抽象类,由Timer 安排为一次执行或重复执行的任务。它有一个抽象方法run()方法,该方法用于执行相应计时器任务要执行的...
  • 有时候看书时候电脑没关,然后看着电脑桌面感觉图标太多很不舒服,所以突发奇想自己书写一个护眼程序,主要也就是实现全屏播放图片,隐藏桌面任务栏和鼠标。 功能比较简单,直接讲解几个重要函数 使用单独一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,750
精华内容 700
关键字:

任务的书写