我使用Spring-Boot@Scheduled-Cron缓存从持久性存储中检索到的数据。
我有两个不同的任务,
Task1将每15分钟运行一次。我设置了cron-like
@Scheduled(cron = "0 0/15 * * * *")
所以频率应该是
12: 00:00
12:15:00
12:30:00
现在,我想在Task1之前10秒运行Task2
ie
11: 59:50
12:14:50
12:29:50
我在尝试这个表达
@Scheduled(cron = "50 0/14 * * * *")
但每隔14分钟就会开火一次。
谁能给我建议一个解决方案吗?
我建议您使用fixedRate或fixedDelay来代替cron表达式。您的需求不是很复杂,因此没有必要使用cron。
>
固定延迟-具体控制最后一次执行完成时的下一次执行时间。
固定速率-使Spring定期运行任务,即使最后一次调用可能仍在运行-不等待前一次执行的完成。
使用示例:
@Scheduled(fixedDelay = 900000) // 15 minutes
public void taskOne() {
...
}
@Scheduled(fixedDelay = 890000) // 14 minutes 50 seconds
public void taskTwo() {
...
}
这将在Task1之前10秒运行您的Task2:
@Scheduled(cron = "50 14/15 * * * *")
例如,它将在11:59:50、12:14:50、12:29:50、12:44:50、12:59:50。。。
试用:
@Scheduled(cron = "50 59/15 * * * *")
说明:
50 59/15 * * * * = at 50 seconds, every hour at 59 minute, every 15 minutes
50 59/15 * * * * = starting at 11:59:50 for every 15 minutes.
你的问题是,X的意思是“每X”。所以0/14意味着每14分钟。
您可以在文档中阅读更多内容:
我有一个创建5个任务的循环。如何在每个任务之间插入5秒的延迟。我不知道如何适应这项任务。延迟(5000)在那里。 我的ProcessQueAsync方法调用一个服务器,检索数据并返回和int。
我想调度多个任务使用@调度注释使用cron表达式。我有三项工作需要在固定时间执行。例如,作业-1被安排在每天晚上11点,作业-2被安排在每天早上7点到晚上9点,间隔1小时,作业-3被安排在每1小时。所有3个计划任务都是同一应用程序的一部分。 我也尝试过同样的方法,但所有三个调度都没有发生。我的应用程序是SpringBoot应用程序。我不是新的调度。请帮帮我。下面是他我的方法 application
大家好,我是微服务的架构新手,所以我有一个miscroservice,每个实体都链接到“用户”实体,但问题是“用户”实体在另一个微服务中,有什么解决方案吗? 如果我在同一个微服务中没有两个实体,我不知道在哪里使用@onetomany关系) 我无法将两个微服务组合在一起。 领域模型层呢?使用另一个微服务的数据是不是最好的解决方案? 提前感谢。
问题内容: 被分组的一头雾水。它有什么不同? 问题答案: 这里有两件事需要解释:量化组的行为和方法的设计。 在您的第一个示例中,匹配在组#1中捕获的。然后,它匹配并捕获到#1组中,从而覆盖。然后再次使用,这就是比赛结束时第一组的比赛。 但是它 确实 匹配整个字符串。如果您正在使用或者,你就可以看MatchObject,看到包含与包含。但是返回字符串,而不是MatchObjects。如果没有组,则返
我正在尝试编写一个正则表达式,使其只有两个单词,它们之间只有一个空格。两个字都不能少于三个字符。例子:乔·史密斯
好的正则表达式问题,如何提取不在两个字符之间的字符,在本例中为括号。 我有一个字符串,例如:word1 |{word2 | word3}| word 4 我只想得到第一个和最后一个“管道”,而不是括号内的第二个。我尝试了无数次负克拉和负分组的尝试,但似乎无法让它发挥作用。 基本上,我在JavaScript拆分函数中使用这个正则表达式将其拆分为一个数组,其中包含:“word1”、“{word2|wo