需要引用Common.Logging.dll,Quartz.dll
using Quartz;
using Quartz.Impl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CZBK.ItcastOA.QuartzNet
{
class Program
{
static void Main(string[] args)
{
IScheduler sched;
ISchedulerFactory sf = new StdSchedulerFactory();
sched = sf.GetScheduler();
JobDetail job = new JobDetail("job1", "group1", typeof(IndexJob));//IndexJob为实现了IJob接口的类
DateTime ts = TriggerUtils.GetNextGivenSecondDate(null, 5);//5秒后开始第一次运行
TimeSpan interval = TimeSpan.FromSeconds(5);//每隔1小时执行一次
Trigger trigger = new SimpleTrigger("trigger1", "group1", "job1", "group1", ts, null,
SimpleTrigger.RepeatIndefinitely, interval);//每若干小时运行一次,小时间隔由appsettings中的IndexIntervalHour参数指定
sched.AddJob(job, true);
sched.ScheduleJob(trigger);
sched.Start();
Console.ReadKey();
}
}
}
/****************************************************************/
using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CZBK.ItcastOA.QuartzNet
{
/// <summary>
/// 完成工作任务的定义。
/// </summary>
public class IndexJob:IJob
{
/// <summary>
/// 将明细表中的数据插入到汇总表中。
/// </summary>
/// <param name="context"></param>
IBLL.IKeyWordsRankService bll = new BLL.KeyWordsRankService();
public void Execute(JobExecutionContext context)
{
bll.DeleteAllKeyWordsRank();
bll.InsertKeyWordsRank();
}
}
}