当前位置: 首页 > 知识库问答 >
问题:

服务器重启后的Spring计划任务

公冶谦
2023-03-14

我在Spring 3中使用@Scheduled annotation。我需要每周或每两周运行一些任务,所以我使用cron表达式作为参数,例如。

@Scheduled("0 0 2 */7 * *")

我的问题是,如果我将创建必须每7天运行一次的计划任务,并且在第6天我将重新启动服务器(与战争重新部署),它会重置这个计划任务(我需要再次等待7天)还是它会保存其状态并在第7天触发此任务?

共有2个答案

夹谷俊远
2023-03-14

不确定*/7是什么意思,但我确定以下cron中的1/7是什么意思:

从每月第一天开始,每7天凌晨2点开火

@Scheduled("0 0 2 1/7 * ?")
卓胜
2023-03-14

我很确定它不会在JVM重启后幸存下来。

如果希望作业每七天运行一次,那么最好从cron(或类似的外部调度机制)进行调度,而不是让Spring来做。

 类似资料:
  • 我正在使用 Windows 服务器 2016 数据中心。每当服务器重新启动时,我在任务计划程序中的计划任务总是停止运行。只有在我手动进入应用程序并重新键入我的用户帐户密码后,它才会再次开始工作。这是设置还是条件问题?

  • 我正在使用下面的代码安排作业。 上述代码的问题是,调度器仅在服务器会话之前有效。一旦执行了这个方法,我想在提到的时间触发schedulerjob,即使在服务器重启之后也是如此。有没有办法在liferay中实现这一点?

  • 有一个非常标准的Spring Boot(1.3.5)应用程序。 使用(在主应用程序入口点和注释类上尝试)启用调度。 使用方法创建了一个简单的类(简单的fixedDelay时间表)。 计划任务执行两次(始终)。 从我目前收集的信息来看,这可能是因为加载了两个上下文,然后两次拿起了我的豆子。好啊既然所有配置基本上都是隐藏的Spring Boot魔法,那么我该如何修复/防止这种双重执行呢? 框架版本:

  • 我在我的Windows 2008 R2机器中安排了一个任务,但它未能触发日志中的以下错误(事件日志)。 错误: 任务计划程序无法启动用户“SAFFRON3\cb_admin”的“\Hyatt_International_Distribution”任务。其他数据:错误值:2147943645。 任务计划程序启动任务引擎""进程失败,原因是"LUAIsUpatedToken"中发生错误。命令="tas

  • 我们有一个Spring+JPA web应用程序。我们使用两个tomcat服务器,它们运行两个应用程序并使用相同的数据库。 我们的应用程序requirmemnt之一是预形成cron调度任务。 谢了!

  • 我正在使用Windows server 2008 r2我安排了一项任务,每天10:00开始,运行8小时。如果服务器重新启动并且时间在10-18之间,那么任务应该尽快开始,否则它不应该运行。 如果我在启动时设置触发器,它随时启动。 如果我设置了“尽快运行”选项并且服务器在启动时没有工作,那么当服务器启动时,任务就会启动,如果任务“今天”已经启动,则不会自动重新启动。 所以我问你的建议:是否可以仅使用