繁体   English   中英

Quartz或任何其他Java API的动态作业调度

[英]Dynamic Job Scheduling with Quartz or any other java api

我有一个UI界面,用户可以在其中定义作业名称,间隔,活动/不活动等。

我们如何使用Quartz Scheduler或任何java / Spring api实现这一目标?

防爆。 假设任何Quartz作业已启动且间隔设置为10分钟,因此理想情况下,作业将在下一个10分钟间隔内运行。 但是,每当作业运行时,我们都希望从数据库中获取最新间隔并进行调度。

10:00作业运行,并且在数据库间隔中设置为10分钟10:10作业运行,并且在数据库间隔中设置为20分钟

所以下一次工作应该在10:30进行

如果使用Quartz,则可以实现自定义Trigger 您的实现将在数据库中查找值,并在下次运行时在getFireTimeAfter中进行getFireTimeAfter

另一个选择是使用Spring Scheduling API并实现Trigger接口。 同样在这里, nextExecutionTime方法将决定下次运行的时间。

使用自定义实现的优点是,您可以完全控制触发逻辑(就像您的情况一样,在数据库中进行查找并动态设置下一个运行时间)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM