java - Spring boot 计划的 cron 作业在部署多个实例时运行 2 次
问题描述
我在应用程序中有四个 cron 工作,它们每天工作几个小时。我将它们部署在 6 个不同的实例中,并使用 shedLock 来防止重叠,但这还不够。因为有时作业延迟和锁定被删除,然后作业再次工作 2 次。如果 cron 作业仍在一个实例中工作,我该如何配置,其他实例在这个实例完成之前不会开始作业?
解决方案
为什么不使用distribute executor?如果你在多个instance中部署它们,你必须管理和调度instance的状态,例如instance A在t1运行,instance B在t2运行,非常复杂。你可以将它们部署在instance上或选择distribute调度执行器,在所有分布式系统中,状态管理非常困难
推荐阅读
- r - 调整组内的一组值,使它们的总和正好为 100
- r - 复制并附加到 R 中的数据帧
- java - 扫描仪无法识别 iText 2D 条码
- html - 当变量为负数时如何更改背景颜色?
- azure - 我可以获取存储在 Azure Databricks 上的文件元数据或文件统计信息吗
- javascript - 如何将 JSON 文件转换为数组列表
- ios - 使用 CATextLayers 向圆添加标签
- django - 有效地从 ManyToManyField 检索并添加到 ManyToManyField
- tensorflow - 张量流中具有分类分布的集成网络
- while-loop - 这两个循环有什么区别?