关于quartz任务调度问题,若一个任务在下一个任务触发前,还未执行完.
比如,我定义了一个任务,每15秒执行一次.但是该任务15秒后,依然未执行,这时候,quartz就会开辟一个新的任务,再次去执行这个任务.有没有一种调度方式是,该任务执行完后,再执行的呢.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如,我定义了一个任务,每15秒执行一次.但是该任务15秒后,依然未执行,这时候,quartz就会开辟一个新的任务,再次去执行这个任务.有没有一种调度方式是,该任务执行完后,再执行的呢.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
如果只是简单的定时任务,完全可以不用quartz,使用jdk自带的ScheduledExecutorService,里面有scheduleAtFixedRate(Runnable, long, long, TimeUnit) 方法(你现在用的)和scheduleWithFixedDelay(Runnable, long, long, TimeUnit)方法 (你需要的)
如果是Java的话,ScheduledExecutorService可以满足要求。
你用C#的话,不知道有没有类似的库可以实现,不过实在没找到的话,可以给任务加锁,只允许一个任务执行,执行完毕后释放锁。
StatueFulJob