【发布时间】:2018-06-07 08:34:25
【问题描述】:
在我的 Spring Boot 应用程序中,基于 Cron 作业(每 5 分钟运行一次),我需要处理数据库中的 2000 个产品。
目前,这 2000 种产品的处理时间超过 5 分钟。我遇到了第二个 Cron 作业在第一个作业尚未完成时运行的问题。
Spring/Cron 中是否有开箱即用的功能允许同步这些作业并在开始下一个作业之前等待上一个作业完成?
请告知如何正确实施此类系统。反正下面的技术也有 Neo4j, MongoDB, Kafka。请告知如何单独使用 Spring/Cron 或什至与上述技术一起正确设计/实现此功能。
【问题讨论】:
-
我认为没有现成的,您可以使用信号量或锁定系统。如果你在不同的服务器上运行,那么你可以使用数据库锁或分布式锁
标签: spring spring-boot cron spring-scheduled