一、Quartz基本介绍

         Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现。该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目。读者可以到 http://www.quartz-scheduler.org/站点下载 Quartz 的发布版本及其源代码。 

二、Quartz的特点

   作为一个优秀的开源调度框架,Quartz 具有以下特点:

        1.强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求;
        2.灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式;
        3.分布式和集群能力,Terracotta 收购后在原来功能基础上作了进一步提升。

三、使用Quartz

此次我将建立一个.net Core 3.1 MVC项目进行演示

        1、NuGet引入Quartz。
        2、注册ISchedulerFactory的实例。
        切换至Startup类,在ConfigureServices方法中添加如下代码:

        services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();


        3、创建作业
         我们添加一个Jobs的类,继承Ijob接口

 

 

        Jobs类中的Execute方法,多线程的C盘中的message.log文本文件中写入当前时间。

       3.代码演示。
        切换到HomeController ,正式开始撸代码。

 

4、运行结果
可以看到程序每隔10秒就会向message文件写入一行当前时间。
 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐