QuartZ框架组成部分
- Ischeduler
- ITrigger
- IJob
框架的使用
1. 引用nuget包
2. 创建IScheduler单元
StdSchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = await factory.GetScheduler();
await scheduler.Start();
3. 创建IJob任务
IJobDetail jobdetail = JobBuilder.Create<Job>
.WithDescription("This is a job")
.WithIdentity("Job", "Group1").Build();
其中WithDescription用于增加作业描述;
WithIdentity用户给作业分组;
Build用于构建作业。
注意:JobBuilder.Create
4. 创建ITrigger定时策略
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("Trigger", "Group1")
.StartNow()
.WithSimpleSchedule(w=>w.WithIntervalInSeconds(3).WithRepeatCount(3))
.Build();
其中WithIdentity用于给时间策略分组;
StartNow表示作业现在就开始执行;
WithSimpleSchedule用于执行时间策略执行规则,WithIntervalInSeconds表示执行的时间间隔, 秒为单位,WithRepeatCount表示最多执行次数;
Build用于构建时间策略。
5. 创建作业任务
public class Job : IJob
{
public async Task Execute(IJobExecutionContext context)
{
await Task.Run(() =>
{
Console.WriteLine($"{DateTime.Now} :任务被执行了。。。");
});
}
}
作业需要创建实现IJob接口的Execute函数,该函数定义了作业需要执行的动作。
6.执行作业任务
创建一个控制台程序
class Program
{
static void Main(string[] args)
{
QuartzService.Manager.Init().GetAwaiter().GetResult();
Console.ReadKey();
}
}
输出结果: