Quartz.Net 使用心得(一)

最近工作内容与定时任务相关,在实际使用Quartz过程中,有两个小问题较为困扰。

一。多个Trigger如何触发一个Job。

比如上下班打卡时推送消息,上班时间为9:30,打卡提醒时间为9:20较好。下班时间为18:30,提醒时间为18:40较好。此时用一个CronTrigger就解决不了。又不肯启动2个Job,和两个Trigger。看了几位大神的文章,都说一个Job可以有多个Trigger驱动,在多方搜索研究下,终于搞定了这个小问题。

            //从工厂中获取一个调度器实例化
            ISchedulerFactory factory = new StdSchedulerFactory();
            IScheduler scheduler = factory.GetScheduler();
            IJobDetail job1 = JobBuilder.Create<SignJob>()  //创建一个即时消息作业
                .WithIdentity("打卡任务", "打卡组")
                .Build();

            ITrigger trigger1 = TriggerBuilder.Create()
                                        .WithCronSchedule("0 20 9 * * ?")
                                        .ForJob(job1)//重要
                                        .Build();
            scheduler.ScheduleJob(job1, trigger1);      //把作业,触发器加入调度器。

            ITrigger trigger2 = TriggerBuilder.Create()
                                        .WithCronSchedule("0 40 18 * * ?")
                                        .ForJob(job1)//重要
                                        .Build();
       
            scheduler.ScheduleJob(trigger2);
            scheduler.Start();

如此,一个Job可以有多少个Trigger了。

时间: 2024-10-06 08:24:02

Quartz.Net 使用心得(一)的相关文章

Quartz.Net 使用心得(二)

工作中需要做一个简易的Cron字符串生成器,并且要获取生成的Cron后面10次的触发时间来验证. 此问题困扰了我很久时间,CSDN上有一个Java版本的,本人菜鸟,想移植到C#中,语法上怎么也不通过.其它中文网站根本搜不到,最终在一个老外网站帮助下,搞定了这个问题.并且研究出了两个方法,小佩服一下我自己. 方法一: /// <summary> /// 测试Cron字符串的正确性并给出8次执行的时间 /// </summary> /// <param name="se

学习了quartz.net2.0的心得

由于项目中要运用到此调度方法,所以抽空学习了下,简单的用法可以掌握了 首先作为没有用过的人来说,怎么用呢? 于是百度了下原来先要下载 quartz.net2.0, 然后我就去下了个quartz.net2.0 ,接着便是要把Quartz.dll还有Common.Logging.dll引用了 ,最后就是把config配置了,这个简单: 直接贴代码 <configSections> <section name="quartz" type="System.Confi

小议时序调度Timer和Quartz

本文不是用来讲授入门手把手ABC小例子的,算是自己这段时间对Timer和Quartz使用心得的总结吧,后续如果有更深的认识会不断更新的. 言归正传,想实现定时调度,最简单的方法是使用Timer 还是先给个使用范例: Java代码   long PERIOD = 60*1000;//一分钟 Timer timer = new Timer("sure's timer"); timer.schedule(new TimerTask() { @Override public void run(

The first talk about what is Quartz.Net

正如标题所示,文章主要是围绕Quartz.Net作业调度框架话题展开的,内容出自博主学习官方Examples的学习心得与体会,文中难免会有错误之处,还请指出得以指教. 在百度一下搜索Quartz.Net,可以知道Quartz.Net是Net版本的任务调度框架,是一个从java移植过来的Net版本的开源框架,在作业调度方面提供了很好的灵活性而不牺牲简单,能够为执行一个作业而创建简单的或复杂的调度,目前版本支持数据库,集群,插件配置,支持cron表达式等等 Quartz Enterprise Sch

Quartz.Net Cron Expression

正如标题所示,文章主要是围绕Quartz.Net作业调度框架话题展开的,内容出自博主学习官方Examples的学习心得与体会,文中难免会有错误之处,还请指出得以指教. 前面了解了一些基本触发器构造作业调度的基础例子,接下来本篇会学习到关于Cron表达式的触发器. PS:ICronTrigger触发器所轮询的将是无限重复轮询. 一,还是先来看一下代码 using System; using System.Collections.Generic; using System.Linq; using S

About Quartz.Net Build the environment and some example

正如标题所示,文章主要是围绕Quartz.Net作业调度框架话题展开的,内容出自博主学习官方Examples的学习心得与体会,文中难免会有错误之处,还请指出得以指教. 在进入Quartz.Net之前,先来看一下Quartz.Net框架运行环境要准备的一些东西. 首先需要准备以下程序集: 1.Common.Logging 2.Common.Logging.Core 3.Common.Logging.Log4Net1213 4.log4net 5.Topshelf 6.Quartz 需要稍微注意一下

被遗忘的宝藏-LaTeX发行版自带字体&amp;自己一些字体心得

KMC大作,如果用xelatex的话,这些知识仅仅作为大家了解.希望对于学习latex有所裨益.原文地址:http://bbs.ctex.org/viewthread.php?tid=43596&extra=&page=1 可能有不少人像我一样在用LaTeX不久就开始跟字体较劲.我走的是这样一个过程:- 最初用惯了Word,从而无法理解为什么LaTeX调用字体那么难:- 为了在LaTeX中调用字体,想用现有的工具一蹴而就(像TTFshape,MTFI,xGBKfonts),往往不能轻易成功

Quartz.Net State Maintenance And Exception Handling

正如标题所示,文章主要是围绕Quartz.Net作业调度框架话题展开的,内容出自博主学习官方Examples的学习心得与体会,文中难免会有错误之处,还请指出得以指教. 本篇关于Quart.Net涉及到的关键词是参数传递,状态维持,异常处理. 一:传参 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using Quartz.I

【59】Quartz+Spring框架详解

什么是Quartz Quartz是一个作业调度系统(a job scheduling system),Quartz不但可以集成到其他的软件系统中,而且也可以独立运行的:在本文中"job scheduler"的意思是:一个负责在约定的时间到达时执行(或通知)其他软件控件的方法. Quartz是非常灵活的,为了实现我们的需求Quartz包含了许多可以独立或被集成使用的典型范例,同时使我们编写项目中的代码也觉得很简单自然(natural). Quartz是很轻量级的,只需要简单的安装或配置就