Spring Boot从视图中调度任务

时间:2017-05-27 16:51:58

标签: spring spring-boot schedule

我希望在视图中添加和删除运行时的计划任务,这可能吗?也许某人有一个示例代码或关于它的好文章?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。也许,我可以在redis或数据库的帮助下提供一个不太好的解决方案。

在计划任务中,您可以从redis中读取标志,然后您可以决定是否继续执行该任务。例如

{{1}}

然后,您可以在运行时控制任务计划。

虽然我不认为这是一个很好的解决方案,但它可以满足您的要求

答案 1 :(得分:0)

考虑这种方法。您可以检查每一分钟(或另一个精确度)的实际时刻,而不是添加和删除计划任务,并立即执行必要的任务。这会更容易。检查Quartz Scheduler,它的CronExpression有isSatisfiedBy(Date date)方法。

@Scheduled(cron = "5 * * * * *) // do not set seconds to zero, cause it may fit xx:yy:59
public void runTasks() {
    LocalTime now = LocalTime.now(); // or Date now = new Date();
    // check and run
}