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

在Spring Boot中同时在多个服务器实例中运行计划任务

史谦
2023-03-14

我们有一个spring boot应用程序和计划任务。

我们希望 在多个服务器上部署我们的应用程序 ,因此应用程序的多个实例。

如何配置spring在同时运行的多个实例上运行调度任务?

例如:一个应用程序在上午12点部署在第一个服务器实例中,任务计划在12点运行。同一个应用程序部署在第二个服务器实例中,时间为凌晨12点03分,由于部署任务存在差异,因此也在凌晨12点33分开始执行相同的cron表达式,第三个应用程序在凌晨12时05分部署,任务开始时间为凌晨12时05分。

如何使任务同时运行(在多个实例中运行的所有三个任务都需要在上午12点05分同时运行),因此我们为所有三个任务获得相同的结果。

共有1个答案

米俊晤
2023-03-14

cron 引用是关于服务器时间而不是应用程序部署时间的。因此,即使它们在不同的分钟内部署,所有内容也将以精确的 12.05 运行

 类似资料:
  • 我有一套使用spring框架用Java写的服务。一些服务有预定的任务(使用spring的< code>@Scheduled注释)来做一些内务处理(生成处理过的数据,数据清理等。).由于这些计划任务,我不能运行服务的多个实例,因为所有实例都选择相同的任务,并且多次执行,导致重复/损坏的数据。为了解决这个问题,我想在任务执行时进行检查,并且只允许在一个实例上执行。我该怎么做?这个问题有更好的解决方法吗

  • 我们有一个Spring Boot应用程序,并有计划的任务。 我们希望在多个服务器上部署我们的应用程序,因此将有多个应用程序实例。 如何将 Spring 配置为仅在指定的服务器上运行计划任务?

  • 在https://gist.github.com/kalharbi/fd29661b9926eb087c45,我在本地主机上配置了SolrCloud,在端口2181、2182上配置了三个ZooKeeper服务器 我上传了两种不同的配置,即tr_config 我的配置文件夹包含一些类似schema的文件。xml,solrconfig。xml等,位于 将配置上载到ZooKeeper: 创建集合: 它正

  • 自 1.5 后就过时了 在 Hangfire 1.5 之后,您不需要额外的配置来支持多个服务实例处理同一个后台任务,可以跳过本文了。现在使用 GUID 生成服务器标识符,因此所有实例名称都是唯一的。 可以同时在一个程序、机器或多台机器上运行多个服务器实例。每个服务实例使用分布式锁来执行协调逻辑。 在上述情况中,每个Hangfire服务器都有一个唯一的由两部分组成的供默认值标识符。最后一部分是一个程

  • 我用SpringBoot创建了一个简单的演示应用程序,其中包括执行器。带有@Scheduled注释的任务显示在执行器中,但以编程方式启动的任务不会显示。有没有办法让他们也出现? 我已经注释了@Enable调度。 我的组件如下所示: 执行器的结果仅显示带注释的任务:

  • 问题内容: 我需要每天在特定时间在Linux服务器上运行一段Java代码。 目前,我正在Ubuntu桌面上对其进行测试,方法是从终端运行它,并按要求正常运行。为了进行调度,我从这里开始使用库。 在实际服务器上,将其作为进程运行的正确方法是什么? 我的意思是,在桌面上,我从终端运行指定接近当前时间的代码,第一次对其进行测试,然后将其停止(^ Z)。 在服务器上将它推送到后台是正确的方法吗?我相信必须