Quartz—触发器(SimpleTrigger&&CronTrigger)

  1. SimpleTrigger
 SimpleTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(2) //每两秒执行一次
                        .repeatForever()) //不限执行次数
                .endAt(new GregorianCalendar(2020,7,13,9,30,30).getTime())
                .build();
 // 1. 调度器 Scheduler
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

        // 2. 触发器:描述时间规则,描述任务怎么触发
        SimpleTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(2) //每两秒执行一次
                        .repeatForever()) //不限执行次数
                .endAt(new GregorianCalendar(2020,7,13,9,30,30).getTime())
                .build();

        // 3. JobDetail 任务包装
        JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("Job1","group1").build();

        // 4. 将JobDetail和触发器增加到调度器中
        scheduler.scheduleJob(jobDetail,trigger);

        // 5. 启动,调度器开始工作
        scheduler.start();

以一定的时间间隔(单位是毫秒)执行的任务。

  • 指定起始和截止时间(时间段)
  • 指定时间间隔,执行次数
  1. CronTrigger
 // 1. 调度器 Scheduler
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

        // 2. 触发器:描述时间规则,描述任务怎么触发
        CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1")
                .withSchedule(CronScheduleBuilder.cronSchedule("10 5 16 9 5 ?")) //秒 分 小时 日 月份 星期
                .build();

        // 3. JobDetail 任务包装
        JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("Job1","group1").build();

        // 4. 将JobDetail和触发器增加到调度器中
        scheduler.scheduleJob(jobDetail,trigger);

        // 5. 启动,调度器开始工作
        scheduler.start();

表达式组成:“秒 分 时 日 月 星期几 年”,其中年是可选的,一般不指定。

位置时间域允许值特殊值
10-59,-*/
2分钟0-59,-*/
3小时0-23,-*/
4日期1-31,-*?/LM
5月份1-12,-*/
6星期1-7(1是星期日),-*?/LM
7年份(可选),-*/

详细请看=> Cron表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
quartz.net 是一个开源的调度框架,用于在 .NET 应用程序中实现任务的调度和管理。它提供了丰富的功能和灵活的配置选项,可以满足各种任务调度的需求。 Quartz.net 的源代码是用 C# 编写的,它包含了框架的核心逻辑和各种扩展功能的实现。源代码中的主要模块包括调度器(Scheduler)、触发器(Trigger)、任务(Job)、作业存储(Store)等。 调度器(Scheduler)是 Quartz.net 的核心组件,负责管理和控制任务的调度。它根据设定的时间规则和条件,自动触发任务的执行。通过调度器可以添加、删除、修改任务,以及查询任务的执行记录和状态。 触发器(Trigger)用于定义任务执行的时间规则。Quartz.net 提供了多种类型的触发器,如简单触发器(SimpleTrigger)、日历触发器(CalendarTrigger)、Cron 触发器(CronTrigger)等。用户可以根据任务的需求选择合适的触发器类型,并设置触发器的属性和参数。 任务(Job)是要执行的具体工作代码。Quartz.net 允许用户定义自己的任务,通过实现 IJob 接口来执行任务逻辑。任务可以在任务类中定义一些属性和方法,用于接收和处理任务的参数和状态。 作业存储(Store)是用于存储任务和触发器的持久化模块。Quartz.net 支持多种作业存储器,如内存存储器(MemoryStore)、数据库存储器(AdoJobStore)等。用户可以根据自己的需求选择合适的作业存储器,并配置连接字符串等参数。 总的来说,Quartz.net 的源代码是一个功能丰富且高度可扩展的调度框架,它提供了灵活的任务调度管理功能。通过深入理解源代码,用户可以更好地理解框架的工作原理,并在需求变更时进行二次开发和定制化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值