如何在 quartz.net 10 秒后将作业安排到 运行?
How to schedule a job to run 10 sec later in quartz.net?
我有一个每 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);
用 cron-expression 看起来像这样的 10 0/1 * * * ? *
怎么样?这将以一分钟的间隔触发,但在你的另一项工作后 10 秒触发。
要添加 cron-expression,只需在触发器上使用 .WithCronSchedule("10 0/1 * * * ? *")
。
您当前工作的 cron 表达式为 0 0/1 * * * ? *
。有关 cron-expression 的精彩教程,请查看 this!
编辑
如果你想要的是一个在添加到调度程序后 10 秒被触发的作业,你可以这样做 .StartAt(DateTime.Now.AddSeconds(10))
我有一个每 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);
用 cron-expression 看起来像这样的 10 0/1 * * * ? *
怎么样?这将以一分钟的间隔触发,但在你的另一项工作后 10 秒触发。
要添加 cron-expression,只需在触发器上使用 .WithCronSchedule("10 0/1 * * * ? *")
。
您当前工作的 cron 表达式为 0 0/1 * * * ? *
。有关 cron-expression 的精彩教程,请查看 this!
编辑
如果你想要的是一个在添加到调度程序后 10 秒被触发的作业,你可以这样做 .StartAt(DateTime.Now.AddSeconds(10))