我有一个预定的工作,每1分钟就会启动一次,如何将作业安排在加入调度程序10秒后运行?
var jobKey = new JobKey("firstJob", "jobGroup");
var firstJob = JobBuilder.Create<MatchJob>()
.WithIdentity("firstJob")
//.SetJobData()
.WithIdentity(jobKey)
.Build();
var firstTrigger = TriggerBuilder.Create()
.WithIdentity("firstTrigger")
.StartNow()
//.StartAt(DateTime.Today.Hour)
.WithSimpleSchedule(x => x.WithIntervalInMinutes(1).RepeatForever())
.Build();
AddJobToScheduler(firstJob, firstTrigger);
答案 0 :(得分:1)
用cron-expression做这样的事情怎么样:10 0/1 * * * ? *
?在你的另一份工作之后,这会在一分钟间隔但10秒后开火。
要添加cron表达式,只需在触发器上使用.WithCronSchedule("10 0/1 * * * ? *")
即可。
您当前工作的cron表达式为0 0/1 * * * ? *
。有关cron-expressions的好教程,请检查this!
修改强>
如果您想要的是在添加到调度程序10秒后触发的作业,您可以.StartAt(DateTime.Now.AddSeconds(10))