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