У меня есть два набора реплик моего сервиса, работающие в среде Kubernetes. Проблема, с которой я столкнулся, заключается в том, что у меня есть расписание, которое будет работать в час ночи и отправит какое-то уведомление. но когда обе реплики работают, он отправляет пользователям повторяющиеся уведомления.
@Scheduled(cron = "0 0 1 * * *")
public void agentExpirationAlertForAGENT_ALERT_1() throws JsonProcessingException {
ConfigurationModel config = configRepository.findByConfigKey(ConfigurationTYpe.AGENT_ALERT_1);
List receivingCountryAgents = receivingCountryAgentRepository.findAllByAgentStatusAndStatus(
ReceivingCountryAgent.AgentStatus.APPROVED,
ReceivingCountryAgent.EnableDisableStatus.ACTIVE
);
String json = config.getConfigJson();
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(json);
int days = node.get("noOfDays").asInt();
// Process alerts for all agents for 30-day notification
receivingCountryAgents.forEach(receivingCountryAgent -> {
Optional optionalLicenceDoc = receivingCountryAgent.getDocuments().stream()
.filter(doc -> doc.getType().equals(ReceivingCountryAgentDocument.DocumentType.AGREEMENT))
.findFirst();
String message = node.get("emailMessage").asText();
message = message.replace("${name}", receivingCountryAgent.getAgentName());
message = message.replace("${days}", String.valueOf(days));
String finalMessage = message;
optionalLicenceDoc.ifPresent(licenceDoc -> {
Date expiryDate = licenceDoc.getExpiryDate();
if (expiryDate != null) {
// Send a notification if expiring in 30 days
sendNotificationIfExpiring(receivingCountryAgent, expiryDate, days, finalMessage, ConfigurationTYpe.AGENT_ALERT_1);
}
});
});
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... springboot
Дублирование планировщика, работающего в двух наборах реплик при весенней загрузке Java ⇐ JAVA
Программисты JAVA общаются здесь
1728997064
Anonymous
У меня есть два набора реплик моего сервиса, работающие в среде Kubernetes. Проблема, с которой я столкнулся, заключается в том, что у меня есть расписание, которое будет работать в час ночи и отправит какое-то уведомление. но когда обе реплики работают, он отправляет пользователям повторяющиеся уведомления.
@Scheduled(cron = "0 0 1 * * *")
public void agentExpirationAlertForAGENT_ALERT_1() throws JsonProcessingException {
ConfigurationModel config = configRepository.findByConfigKey(ConfigurationTYpe.AGENT_ALERT_1);
List receivingCountryAgents = receivingCountryAgentRepository.findAllByAgentStatusAndStatus(
ReceivingCountryAgent.AgentStatus.APPROVED,
ReceivingCountryAgent.EnableDisableStatus.ACTIVE
);
String json = config.getConfigJson();
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(json);
int days = node.get("noOfDays").asInt();
// Process alerts for all agents for 30-day notification
receivingCountryAgents.forEach(receivingCountryAgent -> {
Optional optionalLicenceDoc = receivingCountryAgent.getDocuments().stream()
.filter(doc -> doc.getType().equals(ReceivingCountryAgentDocument.DocumentType.AGREEMENT))
.findFirst();
String message = node.get("emailMessage").asText();
message = message.replace("${name}", receivingCountryAgent.getAgentName());
message = message.replace("${days}", String.valueOf(days));
String finalMessage = message;
optionalLicenceDoc.ifPresent(licenceDoc -> {
Date expiryDate = licenceDoc.getExpiryDate();
if (expiryDate != null) {
// Send a notification if expiring in 30 days
sendNotificationIfExpiring(receivingCountryAgent, expiryDate, days, finalMessage, ConfigurationTYpe.AGENT_ALERT_1);
}
});
});
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79090055/duplication-of-schedular-running-in-two-replica-set-in-java-springboot[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия