博客园不常在线

有问题联系微信

微信号

微信公众号

Quartz.Net系列(二):介绍、简单使用、对比Windows计划任务

1.介绍

Quartz是功能强大的开源作业调度库,几乎可以集成到任何Java应用程序中-从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数以万计,数以万计的工作。任务定义为标准Java组件的作业,它们实际上可以执行您可以对其执行的任何编程操作。Quartz Scheduler包含许多企业级功能,例如对JTA事务和集群的支持。

Quartz是免费使用的,并根据Apache 2.0许可获得许可。

Java网址:http://www.quartz-scheduler.org/

.NET网址:https://www.quartz-scheduler.net/

2.简单使用

nuget => Install-Package Quartz

    class Program
    {
       async static Task Main(string[] args)
        {

            IScheduler scheduler =await StdSchedulerFactory.GetDefaultScheduler();

            await scheduler.Start();

            var job = JobBuilder.CreateForAsync<FirstJob>().Build();

            //trigger  WithIntervalInSeconds(1)间隔1m  RepeatForever重复
            var trigger = TriggerBuilder.Create().WithSimpleSchedule(x => x.WithIntervalInSeconds(1).RepeatForever()).Build();

            await scheduler.ScheduleJob(job, trigger);

            Console.Read();           
        }
    }
    public class FirstJob : IJob
    {
        public async Task Execute(IJobExecutionContext context)
        {
            await Task.Run(() =>
             {
                 Console.WriteLine("Hello World !");
             });
        }
    }

 

 

 3.对比Windows计划任务和Quartz的区别

 1.持久化数据库,SqlLite、MongoDB、Redis、SqlServer、MySql等  Windows计划任务做不到

2.集群支持,双机热备  Windows计划任务做不到

3.Trigger的时间灵活控制,Windows计划任务可以做到

4.可视化的管理界面 Windows Scheduler采用CS模式 Quartz采用Web模式

posted @ 2020-06-15 10:37  Code技术分享  阅读(555)  评论(0编辑  收藏  举报