Quartz基础调度框架-第一篇控制台
Quartz基础调度框架
Quartz核心的概念:scheduler任务调度、Job任务、Trigger触发器、JobDetail任务细节
结构
Conf 在这个基本结构里 是用来存放配置
public class TestJob : IJob
{
private static ILog Logger;
public void Execute(IJobExecutionContext context)
{
Logger = LogManager.GetLogger(context.JobDetail.Description);
Logger.Info(" 运行!");
Console.WriteLine(context.JobDetail.Description+$""+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
}
配置清单
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!--TestJob测试 任务配置--> <job> <name>TestJob</name> < group >Test</ group > <description>TestJob测试</description> <job-type>ConsoleApp1.TestJob,ConsoleApp1</job-type> <durable> true </durable> <recover> false </recover> </job> <trigger> <cron> <name>TestJobTrigger</name> < group >Test</ group > <job-name>TestJob</job-name> <job- group >Test</job- group > <start-time>2015-11-26T22:19:00+08:00</start-time> <cron-expression>0/10 * * * * ?</cron-expression> </cron> </trigger> |
Cron表达式
1 2 3 4 5 6 7 | Seconds Minutes Hours Day-of-Month Month Day-of-Week Year (Optional field) |
举例如下:
创建一个每三小时执行的 CronTrigger,且从每小时的整点开始执行:
0 0 0/3 * * ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 表达式意义 "0 0 12 * * ?" 每天中午12点触发 "0 15 10 ? * *" 每天上午10:15触发 "0 15 10 * * ?" 每天上午10:15触发 "0 15 10 * * ? *" 每天上午10:15触发 "0 15 10 * * ? 2005" 2005年的每天上午10:15触发 "0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发 "0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发 "0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 "0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发 "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发 "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发 "0 15 10 15 * ?" 每月15日上午10:15触发 "0 15 10 L * ?" 每月最后一日的上午10:15触发 "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发 |
源码https://files.cnblogs.com/files/leoxjy/ConsoleApp1.zip
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构