java - 如果服务在集群模式下运行,则单独从数据库中读取
问题描述
我正在开发调度程序。我使用 spring 计划每隔 2 分钟运行一次作业。我扫描数据库以查找待处理的任务并执行它们。
如果我只有一个服务实例,这很好用。我必须部署该服务的多个实例。
我遇到了两个实例运行相同作业的情况,因为每个实例都从 db 读取相同的作业。它被执行两次。
我正在使用 mongodb 来维护工作及其状态。如何确保所有实例执行不同的作业?
解决方案
推荐阅读
- php - Laravel 会话值从会话中删除
- excel - 按日期和时间获取值(索引匹配)(更新)
- android - Ionic Cordova 应用程序在某些设备中不起作用
- python-3.x - 使用 Raspberry Pi 和 Python3 进行继电器控制
- python - 如果特定列包含除数字以外的任何内容,则删除行?
- c# - 如何解决 SOAP 异常“无法识别服务”?
- three.js - 将模型加载到 a-entity
- sourcelink - 我可以在现有 PDB 文件上手动运行 SourceLink 吗?
- java - 如何正确扩展 Credential 类并覆盖使用其内部锁的方法
- postgresql - Postgresql & pgAdmin:为数据库中的每个新表添加一个默认列