Задание Cron выполняется во всех узлах кластера в Spring Boot - PullRequest
0 голосов
/ 03 апреля 2020

Я реализовал работу cron, используя @Scheduled(cron = "0 0 1 * * ?") в Spring Boot. И это приложение развернуто с использованием kubernates в кластерной среде, поэтому это задание cron выполняется во всех узлах кластерной среды.

Может ли кто-нибудь предложить выполнить это задание cron только на одном узле?

Примечание: мы не используем какую-либо базу данных и не имеем дело с темами Кафки для чтения сообщений и отправки в другие системы, используя soap ш.

1 Ответ

0 голосов
/ 03 апреля 2020

Вы можете использовать @SchedulerLock

Пример:

@Scheduled( ... )
@SchedulerLock(name = "scheduledJobName")
public void job() {
   // do your task
}

Посмотрите на это

...