如何在quartz.net中安排作业运行10秒后?

时间:2016-01-11 07:06:38

标签: c# asp.net asp.net-mvc 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);

1 个答案:

答案 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))