我们有两个运行中的pod,它们有一个同时启动的方法(有一个调度器注解)。所以我们得到了一个残酷的竞争条件。我看不出有什么办法可以防止竞态条件。悲观锁在同一进程中是有意义的。但我们有两个分离舱。我只看到了让一个pod比另一个pod运行晚一点的方法。但我不知道你是否能以某种方式配置它。
2guxujil1#
从应用中删除@Scheduled,并在Kubernetes中部署一个CronJob,该CronJob将对应用进行REST调用。或者,如果你不想要这个解决方案,那么使用ShedLock,它现在也支持Quarkus。
1条答案
按热度按时间2guxujil1#
从应用中删除@Scheduled,并在Kubernetes中部署一个CronJob,该CronJob将对应用进行REST调用。
或者,如果你不想要这个解决方案,那么使用ShedLock,它现在也支持Quarkus。