Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。
完成一个Quartz调度需要:调度器(IScheduler)、任务(JobDetail)、触发器(Trigger)
无需配置文件代码如下:
using Quartz.Impl; using System; namespace Quartz { class Program { static void Main(string[] args) { //调度器构造工厂 ISchedulerFactory factory = new StdSchedulerFactory(); //第一步:构造调度器 IScheduler scheduler = factory.GetScheduler(); scheduler.Start();//启动调度器 //第二步:定义任务 JobDetailImpl job = new JobDetailImpl("MyJob1", typeof(HandleClass)); //第三步:定义触发器 ITrigger trigger = TriggerBuilder.Create() .WithIdentity("t1")//触发器名称 .ForJob(job) .StartNow() .WithSimpleSchedule(x => x.RepeatForever() .WithIntervalInSeconds(1))//1s 执行一次 .Build(); //将任务与触发器添加到调度器中: scheduler.ScheduleJob(job, trigger); } } /// <summary> /// 工作类 /// </summary> public class HandleClass : IJob { /// <summary> /// 任务调用的方法 /// </summary> public void Execute(IJobExecutionContext context) { Console.WriteLine("hello work!"); } } }
源码地址: Quartz.zip
时间: 2024-10-29 19:09:09