码迷,mamicode.com
首页 > 其他好文 > 详细

小记:Quartz StartNow() 无效

时间:2015-07-16 02:06:41      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

今天遇到一个问题,调度器在启动时无法立刻开始执行任务,代码如下:

var trigger = TriggerBuilder.Create()
    .StartNow()  //此处无效
    .WithCronSchedule("0 0/30 10-20 * * ?")
    .Build();

F12 可以看到 StartNow() 注释如下:

//
// 摘要:
//     Set the time the Trigger should start at to the current moment - the trigger
//     may or may not fire at this time - depending upon the schedule configured
//     for the Trigger.
//
// 返回结果:
//     the updated TriggerBuilder
public TriggerBuilder StartNow();

在 stockoverflow 上查找结果如下

地址:http://stackoverflow.com/questions/19219560/quartz-trigger-builder-startnow-not-firing-the-trigger-during-the-start

技术分享

由上述得知,当使用 Cron 表达式时,StartNow 方法不会起任何效果,Cron 有其自己的执行时间。目前看来 StartNow 应该只适用于 SimpleTrigger 触发器。

解决方法:

技术分享

 

1.如上图,增加一个仅有 StartNow 的触发器来立刻触发 Job

2.可在 scheduler.Start() 启动前手动调用执行 Job 一次

 

小记:Quartz StartNow() 无效

标签:

原文地址:http://www.cnblogs.com/wynn0123/p/4649965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!