• Quartz.NET一个开源的作业调度框架


    原文链接:http://letyouknow.net/quartz/quartz-tutorial.html

    Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。 

    Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。

    整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。

    官网:http://www.quartz-scheduler.net/

    下面结合我的项目中的使用给大家分享:

    包括以下技术点:单一实例模式、NLog使用方法、模板类、抽象类、抽象方法、接口、Cron表达式

    2.png

    3.png

    首先,我们先起一个模板类JobService,定义抽象的操作,实现类自己通过重写GetTrigger()去定义触发的时间。

    接下来,我们来看看一个实现类ExpiredSessionsJobService,它定义了每60秒就触发一次,当然这个时间定义,我们还可以用Cron表达式,可以用这类写法:

    ICronTrigger CronTrigger = new Quartz.Impl.Triggers.CronTriggerImpl(JobName, GroupName, "0/60 * * * * ?");

    4.png

    Cron表达式

    quartz中的cron表达式和Linux下的很类似,比如 "/5 * * ? * * *"  这样的7位表达式,最后一位年非必选。

    表达式从左到右,依此是秒、分、时、月第几天、月、周几、年。下面表格是要遵守的规范:

    实例介绍

    ”0 0 10,14,16 * * ?"    每天10点,14点,16点 触发。

    "0 0/5 14,18 * * ?"    每天14点或18点中,每5分钟触发 。

    字段名允许的值允许的特殊字符
    Seconds 0-59 , - * /
    Minutes 0-59 , - * /
    Hours 0-23 , - * /
    Day of month 1-31 , - * ? / L W
    Month 1-12 or JAN-DEC , - * /
    Day of week 1-7 or SUN-SAT , - * ? / L #
    Year 空, 1970-2099 , - * /
    特殊字符 解释
    , 或的意思。例:分钟位 5,10  即第5分钟或10分都触发。 
    / a/b。 a:代表起始时间,b频率时间。 例; 分钟位  3/5,  从第三分钟开始,每5分钟执行一次。
    * 频率。 即每一次波动。    例;分钟位 *  即表示每分钟 
    - 区间。  例: 分钟位   5-10 即5到10分期间。 
    ? 任意值 。   即每一次波动。只能用在DayofMonth和DayofWeek,二者冲突。指定一个另一个一个要用?
    L 表示最后。 只能用在DayofMonth和DayofWeek,4L即最后一个星期三
    W 工作日。  表示最后。 只能用在DayofWeek
    # 4#2。 只能用DayofMonth。 某月的第二个星期三  

     

     

     

     

     

     

    具体的业务处理类是ExpiredSessionsJob,它必须实现IJob,Execute方法为具体业务方法,实现作业的内容;

    5.png

    6.png

    我们还可以新建一个ASP.NET WEBSITE,并引入CrystalQuartz.Remote包,生成后台可监控的管理平台。

    7.png 

  • 相关阅读:
    基于mini2440的两种触屏中断程序(T35)
    TFT LCD控制显示总结(硬件概念、初始化相关配置)
    TFT资料大全
    最全的摄像头资料
    【转】x.509证书在WCF中的应用(CS篇)
    C#中可以使用正则表达式来过滤html字符
    前台调用后台方法(转来的!)
    C#字符串截取(区分汉字)(转)
    用C#制作PDF文件全攻略 (专至csdn)
    证书创建工具 (Makecert.exe)
  • 原文地址:https://www.cnblogs.com/letyouknowdotnet/p/11024911.html
Copyright © 2020-2023  润新知