如何在 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))