您的位置:首页 > 其它

Quartz.NET 2.0 作业调度框架使用

2014-11-08 18:39 423 查看


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!");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: