使用QuartzScheduler,我正在使用以下代码片段创建CronTrigger:
TriggerBuilder
.Create()
.WithIdentity(schedule.job + "-" + schedule.application)
.WithCronSchedule(schedule.CronExpression)
.StartAt(new DateTimeOffset(DateTime.Now.AddSeconds(15)))
.WithDescription(schedule.CronExpression)
.WithPriority(1)
.Build();
以下代码片段创建Job
JobBuilder
.Create(jobType)
.WithIdentity(schedule.job + "-" + schedule.application)
.WithDescription(jobType.Name)
.SetJobData(new JobDataMap(map))
.UsingJobData(keys)
.Build();
当此作业失败时,我想重试指定次数的作业,因此我发现有SimpleTrigger类并为其使用了以下代码段:
trigger = TriggerBuilder.Create()
.WithIdentity("trigger3", "group1")
.StartAt(myTimeToStartFiring)
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10)
.WithRepeatCount(10))
.ForJob(myJob) // identify job with handle to its JobDetail itself
.Build();
但是它似乎并没有触发myJob。可能是什么问题? cron计划的作业可能会成功执行几次,并在其他情况下失败,因此我只需要重试失败的作业并在历史记录中进行相应报告。