Дублирование планировщика, работающего в двух наборах реплик при весенней загрузке JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Дублирование планировщика, работающего в двух наборах реплик при весенней загрузке Java

Сообщение 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);
}
});
});
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... springboot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»