Quartz-定时任务框架

Posted 1175429393wljblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Quartz-定时任务框架相关的知识,希望对你有一定的参考价值。

Quartz的使用

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.3.2。

话不多说,不懂得可以自行百度,下面直接上代码

1、新建。net fromwork 控制台项目ConsoleApp1

2、使用NuGet添加Quartz引用

3、program中添加如下信息:

using Quartz;
using Quartz.Impl;
using System;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Myqurtz();
            Console.Read();
        }

        public async static void Myqurtz() {
            //创建调度器
            ISchedulerFactory factory = new StdSchedulerFactory();
            var scheduler= await factory.GetScheduler();
            await scheduler.Start();
            //创建工作
            var job = JobBuilder.Create<Myjob>().WithIdentity("job1", "group1").Build();
            //创建触发器,设定触发时间,间隔时间,重复频率
            var trigger = TriggerBuilder.Create().WithIdentity("trigger1", "group1").StartNow().WithSimpleSchedule(a=>a.WithIntervalInSeconds(5).RepeatForever()).Build();
            //工作和触发器挂在调度器
           await scheduler.ScheduleJob(job, trigger);
        }

        /// <summary>
        /// 工作要处理的内容
        /// </summary>
        public class Myjob : IJob
        {
            public virtual Task Execute(IJobExecutionContext context)
            {
              return  Console.Out.WriteLineAsync($"job工作了,{DateTime.Now}");
            }
        }
    }
}

 

4、运行效果

技术图片

 

以上是关于Quartz-定时任务框架的主要内容,如果未能解决你的问题,请参考以下文章

分布式定时任务调度框架 - Quartz学习及实战记录笔记

分布式定时任务调度框架 - Quartz学习及实战记录笔记

一文揭秘定时任务调度框架quartz

定时任务框架-quartz

quartz定时任务框架之实例

Spring 整合 Quartz框架(定时任务)