Quartz.NET 是一个基于 .NET 平台的任务调度库,它提供了一种功能强大、易于使用的方式来管理和调度定时任务。以下是一个简单的示例:
首先,需要在项目中安装 Quartz.NET 的 NuGet 包:
Install-Package Quartz
然后,创建一个调度程序并添加一个作业:
using Quartz;
using Quartz.Impl;
// 创建调度程序
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = await schedFact.GetScheduler();
// 创建作业
IJobDetail job = JobBuilder.Create<MyJob>()
.WithIdentity("myJob", "group1")
.Build();
// 创建触发器
ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create()
.WithIdentity("myTrigger", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(5)
.RepeatForever())
.Build();
// 调度作业
await sched.ScheduleJob(job, trigger);
// 启动调度程序
await sched.Start();
其中,MyJob
是一个实现 IJob
接口的作业类,它的 Execute
方法将会在触发器触发时执行:
using Quartz;
public class MyJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
// 在这里执行你的任务
Console.WriteLine("Hello, world!");
}
}
这个示例中,我们创建了一个名为 myJob
的作业,它将在每隔 5 秒钟执行一次。调度程序启动后,作业将自动执行,并输出 "Hello, world!" 到控制台。
总结:Quartz.NET 是一个功能强大的任务调度库,可以方便地管理和调度定时任务。它提供了一种简单的方式来创建和调度作业,并支持多种触发器类型和调度策略。
企业创新在线学堂
算法大赛
企业创新在线学堂
Elastic 实战工作坊
双11音视频
腾讯云数据湖专题直播
高校公开课
Tencent Serverless Hours 第12期
云+社区沙龙online[数据工匠]
DB-TALK 技术分享会
领取专属 10元无门槛券
手把手带您无忧上云