阅读目录
开始阅读 完整代码下载
Quartz.Net是一个从Java版的Quartz移植过来的定时任务框架,可以非常非常灵活的设置定时任务,IT工程师只需要编写少量代码就可以实现非常复杂的定时任务,比如:每天晚上多个服务器数据同步,游戏里面排行榜定时更新等等。使用之前需要在nuget里引用包Quartz,我这里用的是Quartz 3.2.4
介绍一下Quartz,Net的基本概念,计划者(IScheduler)、工作(IJob)、触发器(Trugger),合起来就是分配给计划者一个工作,在触发器的触发条件下执行这个工作。将要定时执行任务的代码写道实现IJob接口的Execute方法中,触发条件满足的时候就会执行Execute方法。
计划者是执行计划的实例,可以有多个实例同时存在,每个实例之间是相对独立的。需要通过工厂StdSchedulerFactory来创建实例。只用计划者实例启动后里面的任务才会工作。
1 // 初始化IScheduler 2 StdSchedulerFactory factory = new StdSchedulerFactory(); 3 IScheduler scheduler = await factory.GetScheduler(); 4 await scheduler.Start(); //只有启动了,里面的任务才会定时触发