先貼使用代碼:

  1 using Quartz;
2 using Quartz.Impl;
3 using Quartz.Logging;
4 using System;
5 using System.Collections.Specialized;
6 using System.Threading.Tasks;
7
8 namespace QuartzTest
9 {
10 class Program
11 {
12 static void Main(string[] args)
13 {
14 GetTask().GetAwaiter().GetResult();
15 }
16 public static async Task GetTask()
17 {
18 // construct a scheduler factory
19 NameValueCollection props = new NameValueCollection
20 {
21 { "quartz.serializer.type", "binary" }
22 };
23 ISchedulerFactory factory = new StdSchedulerFactory(props);
24 IScheduler scheduler =await factory.GetScheduler();
25
26 IJobDetail job = JobBuilder.Create<HelloJob>()
27 .WithIdentity("job1", "group1")
28 .Build();
29
30 ITrigger trigger = TriggerBuilder.Create()
31 .WithIdentity("trigger1", "group1")
32 .WithCronSchedule("0/5 * * * * ?")
33 .Build();
34
35 await scheduler.ScheduleJob(job, trigger);
36 await scheduler.Start();
37
38 // some sleep to show what's happening
39 await Task.Delay(TimeSpan.FromSeconds(60));
40
41 // and last shut down the scheduler when you are ready to close your program
42 await scheduler.Shutdown();
43 }
44 }
45
46 public class HelloJob : IJob
47 {
48 public async Task Execute(IJobExecutionContext context)
49 {
50 await Console.Out.WriteLineAsync("Hello Quartz.Net..." + DateTime.Now + Environment.NewLine);
51 }
52 }
53
54
55
56 //class Program
57 //{
58 // static void Main(string[] args)
59 // {
60 // GetTask().GetAwaiter().GetResult();
61 // }
62
63 // public static async Task GetTask()
64 // {
65 // // construct a scheduler factory
66 // NameValueCollection props = new NameValueCollection
67 // {
68 // { "quartz.serializer.type", "binary" }
69 // };
70 // StdSchedulerFactory factory = new StdSchedulerFactory(props);
71
72 // // get a scheduler
73 // IScheduler scheduler =await factory.GetScheduler();
74 // await scheduler.Start();
75
76 // // define the job and tie it to our HelloJob class
77 // IJobDetail job = JobBuilder.Create<HelloJob>()
78 // .WithIdentity("myJob", "group1")
79 // .Build();
80
81 // // Trigger the job to run now, and then every 40 seconds
82 // ITrigger trigger = TriggerBuilder.Create()
83 // .WithIdentity("myTrigger", "group1")
84 // .StartNow()
85 // .WithSimpleSchedule(x => x
86 // .WithIntervalInSeconds(10)
87 // .RepeatForever())
88 // .Build();
89
90 // // Tell Quartz.Net to schedule the job using our trigger
91 // await scheduler.ScheduleJob(job, trigger);
92
93 // // some sleep to show what's happening
94 // await Task.Delay(TimeSpan.FromSeconds(60));
95
96 // // and last shut down the scheduler when you are ready to close your program
97 // await scheduler.Shutdown();
98 // }
99 //}
100
101 //public class HelloJob : IJob
102 //{
103 // public async Task Execute(IJobExecutionContext context)
104 // {
105 // await Console.Out.WriteLineAsync("Hello Quartz.Net..." + DateTime.Now + Environment.NewLine);
106 // }
107 //}
108
109
110
111 // // Other Method
112 //class Program
113 //{
114 // static void Main(string[] args)
115 // {
116 // LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());
117
118 // RunProgram().GetAwaiter().GetResult();
119
120 // Console.WriteLine("Press any key to close the application");
121 // Console.ReadKey();
122 // }
123
124 // private static async Task RunProgram()
125 // {
126 // try
127 // {
128 // NameValueCollection props = new NameValueCollection
129 // {
130 // {"quartz.serializer.type", "binary" }
131 // };
132 // StdSchedulerFactory factory = new StdSchedulerFactory(props);
133 // IScheduler scheduler = await factory.GetScheduler();
134
135 // await scheduler.Start();
136
137 // IJobDetail job = JobBuilder.Create<HelloJob>()
138 // .WithIdentity("job1", "group1")
139 // .Build();
140
141 // ITrigger trigger = TriggerBuilder.Create()
142 // .WithIdentity("trigger1", "group1")
143 // .StartNow()
144 // .WithSimpleSchedule(x => x
145 // .WithIntervalInSeconds(10)
146 // .RepeatForever())
147 // .Build();
148
149 // await scheduler.ScheduleJob(job, trigger);
150
151 // await Task.Delay(TimeSpan.FromSeconds(60));
152
153 // await scheduler.Shutdown();
154 // }
155 // catch (SchedulerException se)
156 // {
157 // await Console.Error.WriteLineAsync(se.ToString());
158 // }
159 // }
160
161 // private class ConsoleLogProvider : ILogProvider
162 // {
163 // public Logger GetLogger(string name)
164 // {
165 // return (level, func, exception, parameters) =>
166 // {
167 // if (level >= LogLevel.Info && func != null)
168 // {
169 // Console.WriteLine("[" + DateTime.Now.ToLongTimeString() + "] [" + level + "] " + func(), parameters);
170 // }
171 // return true;
172 // };
173 // }
174
175 // public IDisposable OpenNestedContext(string message)
176 // {
177 // throw new NotImplementedException();
178 // }
179
180 // public IDisposable OpenMappedContext(string key, string value)
181 // {
182 // throw new NotImplementedException();
183 // }
184 // }
185 //}
186
187 //public class HelloJob : IJob
188 //{
189 // public async Task Execute(IJobExecutionContext context)
190 // {
191 // await Console.Out.WriteLineAsync("Greetings from HelloJob!");
192 // }
193 //}
194 }

參考網址:

https://www.cnblogs.com/huyong/p/11091089.html

https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html

https://www.liujiajia.me/2019/02/13/quartz-net/

Quartz.NET 的使用的更多相关文章

  1. 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)

    很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...

  2. Quartz

    Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中.它提供了巨大的灵 活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度. eg: ja ...

  3. Spring Quartz实现任务调度

    任务调度 在企业级应用中,经常会制定一些"计划任务",即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发.线程池维 ...

  4. topshelf和quartz内部分享

    阅读目录: 介绍 基础用法 调试及安装 可选配置 多实例支持及相关资料 quartz.net 上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客. 介绍 topshelf是创建windows ...

  5. Quartz.net持久化与集群部署开发详解

    序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我的罪过. 但是quart.net是经过许多大项 ...

  6. Quartz.net开源作业调度框架使用详解

    前言 quartz.net作业调度框架是伟大组织OpenSymphony开发的quartz scheduler项目的.net延伸移植版本.支持 cron-like表达式,集群,数据库.功能性能强大更不 ...

  7. quartz.net 时间表达式----- Cron表达式详解

    序言 Cron表达式:就是用简单的xxoo符号按照一定的规则,就能把各种时间维度表达的淋漓尽致,无所不在其中,然后在用来做任务调度(定时服务)的quart.net中所认知执行,可想而知这是多么的天衣无 ...

  8. Quartz.NET Windows 服务示例

    想必大家在项目中处理简单的后台持续任务或者定时触发任务的时候均使用 Thread 或者 Task 来完成,但是项目中的这种需求一旦多了的话就得将任务调度引入进来了,那今天就简单的介绍一下 Quartz ...

  9. [Quartz笔记]玩转定时调度

    简介 Quartz是什么? Quartz是一个特性丰富的.开源的作业调度框架.它可以集成到任何Java应用. 使用它,你可以非常轻松的实现定时任务的调度执行. Quartz的应用场景 场景1:提醒和告 ...

  10. 关于Quartz.NET作业调度框架的一点小小的封装,实现伪AOP写LOG功能

    Quartz.NET是一个非常强大的作业调度框架,适用于各种定时执行的业务处理等,类似于WINDOWS自带的任务计划程序,其中运用Cron表达式来实现各种定时触发条件是我认为最为惊喜的地方. Quar ...

随机推荐

  1. python 发起PUT请求,报"Method not Allowed" 和 取返回的报文的内容

    发起请求的时候,默认使用的POST请求方式,导致发起请求,返回[405 Method not Allowed ],检查此更新接口的请求方式为PUT,更改请求方式为PUT PUT接口返回的内容,不能通过 ...

  2. 全国产!全志A40i+Logos FPGA核心板(4核ARM Cortex-A7)硬件说明

    硬件资源 SOM-TLA40iF核心板板载ARM.FPGA.ROM.RAM.晶振.电源.LED等硬件资源,并通过B2B连接方式引出IO.核心板所有器件(包括B2B连接器)均采用国产工业级方案,国产化率 ...

  3. 使用jsp+servlet+mysql用户管理系统之用户注册-----------使用简单三层结构分析页面显示层(view),业务逻辑层(service),数据持久层(dao)

    View层:jsp+servlet: jsp: <%@ page language="java" contentType="text/html; charset=U ...

  4. WTM的项目中EFCore如何适配人大金仓数据库

    一.WTM是什么 WalkingTec.Mvvm框架(简称WTM)最早开发与2013年,基于Asp.net MVC3 和 最早的Entity Framework, 当初主要是为了解决公司内部开发效率低 ...

  5. eclipse注释取消注释

    方法一:使用Ctrl+/快捷键   1 第1步:在Eclipse中拖动鼠标,选中需要注释的代码,通常为连续多行代码. 2 第2步:按住Ctrl+/快捷键,如图所示. 3 第3步:会发现所选代码被&qu ...

  6. 深入理解 React 的 useSyncExternalStore Hook

    深入理解 React 的 useSyncExternalStore Hook 大家好,今天我们来聊聊 React 18 引入的一个新 Hook:useSyncExternalStore.这个 Hook ...

  7. [oeasy]python0112_扩展ascii_Extended_ascii_法文字符

    法文字符 回忆上次内容 上次回顾了 字型编码的进化过程 从 7-seg 到 点阵字库 终于让字母.数字.标点 明确了字型 小写字符 占据了位置 法文字符 没有地方放了     ​   添加图片注释,不 ...

  8. 基于树莓派的OpenWrt系统打开蓝牙功能

    在树莓派设备上的OpenWrt系统打开蓝牙功能 1. 安装必要的软件包 首先,你需要确保OpenWrt系统上安装了必要的蓝牙软件包.你可以通过OpenWrt的包管理器来安装它们.在OpenWrt系统上 ...

  9. 格式输出函数printf()详解_C语言

    printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上. printf函数调用的一般形式 ...

  10. CF1956B Nene and the Card Game 题解

    Nene and the Card Game 题意 有 \(2n\) 张牌,\(1,2,3,\dots,n\) 皆有两张. 有两个人在玩游戏,每个人有 \(n\) 张卡片,当一人出了一张编号为 \(k ...