Fork me on GitHub

Quartz.NET教程:(01) 使用Quartz

使用调度器 (scheduler) 之前要先用 ISchedulerFactory 的一个实现来实例化调度器(scheduler)。一旦调度器实例化完成,则它可以被启动、置于备用模式或者关闭。需要注意的是一旦调度器被关闭,只有重新实例化后才能重新启动它。调度器启动前或者触发器处于暂停状态时,触发器都不会被触发(即任务不会执行)。

下列代码片段演示了实例化并启动一个调度器,并且安排了一个任务以便执行:

使用 Quartz.NET

// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// define the job and tie it to our HelloJob class
IJobDetail job = JobBuilder.Create<HelloJob>()
                                                       .WithIdentity("myJob", "group1")
                                                        .Build();
// Trigger the job to run now, and then every 40 seconds
ITrigger trigger = TriggerBuilder.Create() 
                                                                .WithIdentity("myTrigger", "group1")
                                                                .StartNow()
                                                                .WithSimpleSchedule(x => x .WithIntervalInSeconds(40) 
                                                                .RepeatForever()) 
                                                                .Build();
sched.ScheduleJob(job, trigger);
如你所见,使用Quartz.NET实际上是一个很简单的事。在第2篇教程中将会对 Jobs (任务) 和 Triggers (触发器) 有一个简要了解,以便让初学者能更全面的了解上面这个例子。
posted @   TimGong  阅读(1976)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2012-08-08 Javascript获取Url请求参数
点击右上角即可分享
微信分享提示