当部署多个实例时,Spring引导调度的cron作业运行2次



我在应用程序中有四个cron作业,它们每天工作几个小时。我将它们部署在6个不同的实例中,并使用shedLock来防止重叠,但这还不够。因为有时作业延迟和锁被移除,那么作业再工作2次。如何配置如果cron作业仍在一个实例中工作,其他实例直到此实例完成才开始作业?

为什么不使用分布式执行器?如果你将它们部署在多个实例中,你必须管理和调度实例的状态,例如实例A在t1运行,实例B在t2运行,这非常复杂。您可以在实例上部署它们或选择分布式调度执行器,在所有分布式系统中,状态管理是非常困难的

尝试一次部署一个Spring Boot Scheduled Cron作业,以防止它们被部署到多个实例

最新更新