zoukankan      html  css  js  c++  java
  • .net core 2.1控制台使用Quartz.net实现定时任务执行

    权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/qq_33435149/article/details/87932011
         

      Quartz.NET是一个功能齐全的开源作业调度系统,可用于从最小的应用程序到大型企业系统。
    Quartz.NET是一个用C#编写的纯.NET库,是一个非常流行的开源Java作业调度框架Quartz的端口。这个项目很大程度上归功于原始的Java项目,它是父亲James House和项目贡献者。


                /***
                 *   在NuGet 搜索Quartz.net
                 *   我这里下载版本是 3.0.7,用的.net core 2.1框架,控制台程序
                 *   先建个TestJob类继承IJob,实现这个接口的方法
                 *   Quartz.net使用了Task异步
                 *
                 *   public class TestJob : IJob
                    {
                        public async Task Execute(IJobExecutionContext context)
                        {
                           await Task.Run(() => { Console.WriteLine("任务执行了"); });
                        }
                    }
                 * 
                 * 
                 * 
                 */
     


            /// <summary>
            /// 在.net core 2.1框架,控制台程序用Quartz.net实现定时任务执行
            /// </summary>
            public async static void AsyncQuartz()
            {
                StdSchedulerFactory stdSchedulerFactory = new StdSchedulerFactory();
                IScheduler scheduler = await stdSchedulerFactory.GetScheduler();
                JobDetailImpl jdBossReport = new JobDetailImpl("jdTest", typeof(TestJob));
                IMutableTrigger mutableTrigger = CronScheduleBuilder.DailyAtHourAndMinute(11,23).Build();
                mutableTrigger.Key = new TriggerKey("trggerTest");
                await scheduler.ScheduleJob(jdBossReport, mutableTrigger);
                await scheduler.Start();
                Console.WriteLine("ok");
                Console.ReadKey();
            }

    注:这种方式的时候job类里面必须包含一个空的构造函数,并且只会调用这个空的构造函数来构造对象,即构造函数的依赖注入在这里不好用

  • 相关阅读:
    非正式介绍Python(二)
    用js采集网页数据并插入数据库最快的方法
    一张图轻松记住PHP的*类*以及private和protected的区别
    从php到浏览器的缓存机制,不得不看!
    webpack 兼容低版本浏览器,转换ES6 ES7语法
    DEDE织梦 后台特别卡,有时响应超时的解决办法
    vue iview Select bug,在低版本浏览器中报错
    mysql_connect 等待时间长,修改连接地址为127.0.0.1即可
    看完这篇文章才对【GIT】有了大彻大悟的认识
    一次请求对多条数据进行排序的算法(二)
  • 原文地址:https://www.cnblogs.com/maycpou/p/11909695.html
Copyright © 2011-2022 走看看