zoukankan      html  css  js  c++  java
  • 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模式

  • 相关阅读:
    HDU 5313 bitset优化背包
    bzoj 2595 斯坦纳树
    COJ 1287 求匹配串在模式串中出现的次数
    HDU 5381 The sum of gcd
    POJ 1739
    HDU 3377 插头dp
    HDU 1693 二进制表示的简单插头dp
    HDU 5353
    URAL 1519 基础插头DP
    UVA 10294 等价类计数
  • 原文地址:https://www.cnblogs.com/vic-tory/p/13129551.html
Copyright © 2011-2022 走看看