我们有一个Spring + JPA Web应用程序。我们使用两个运行两个应用程序并使用相同数据库的tomcat服务器。
我们的应用程序要求之一是执行cron \ Scheduled任务。
经过简短的研究,我们发现spring框架为cron作业提供了非常直接的解决方案(基于注释的解决方案)
但是,由于两个tomcat都运行同一个Web应用程序- 如果我们将使用今年spring的解决方案,则将创建一个非常有问题的场景,其中2个cron同时运行(每个都在不同的tomcat上)
有什么办法解决这个问题?也许这种选择对我们的目的不利?
谢谢!
通常,您将要保存一个设置以指示作业正在运行。与“ Spring Batch”的技巧类似,您可能希望在数据库中创建一个表,仅用于存储作业执行。您可以选择执行此操作,但是最终,计划的任务应检查数据库以查看是否已经运行了相同的任务,如果没有,则继续执行任务。任务完成后,请适当地更新数据库,以便将来可以执行。