Почему планировщик запускается дважды в запланированное время ⇐ JAVA
-
Anonymous
Почему планировщик запускается дважды в запланированное время
В моем приложении весенней загрузки я написал планировщик для синхронизации некоторых деталей в запланированное время. Я развернул свое приложение весенней загрузки на сервере Linux с сервером Tomcat. Мой Линукс на сервере используется время UTC.
Моя проблема в том, что я заметил, что мой планировщик запускался дважды по сравнению с запланированным временем. Я упомяну подробности журнала.
введите здесь описание изображения
Как видите, есть два параметра «Начало синхронизации ClassLink». сообщения с разными идентификаторами трассировки. Ниже я также упомяну код своего планировщика.
@Scheduled(cron = "0 30 2 * * *", зона = "UTC") public void ScheduleFixedDelayTask2() выдает исключение { Строка трассировки = контроллерUtil.generateTracerId(); log.info(MessageConstants.API_LOG_INFO,traceId, LocalDateTime.now(), "Синхронизация ClassLink начинается."); //classLinkService.fetchClassLinkData(traceId); log.info(MessageConstants.API_LOG_INFO,traceId, LocalDateTime.now(), "Синхронизация ClassLink завершена."); } Обратите внимание, что на сервере Linux нет докера или нескольких экземпляров. Только что установил сервер tomact в среду Linux и развернул загрузочный WAR-файл на сервере tomcat
Можете ли вы мне помочь с этим?
В моем приложении весенней загрузки я написал планировщик для синхронизации некоторых деталей в запланированное время. Я развернул свое приложение весенней загрузки на сервере Linux с сервером Tomcat. Мой Линукс на сервере используется время UTC.
Моя проблема в том, что я заметил, что мой планировщик запускался дважды по сравнению с запланированным временем. Я упомяну подробности журнала.
введите здесь описание изображения
Как видите, есть два параметра «Начало синхронизации ClassLink». сообщения с разными идентификаторами трассировки. Ниже я также упомяну код своего планировщика.
@Scheduled(cron = "0 30 2 * * *", зона = "UTC") public void ScheduleFixedDelayTask2() выдает исключение { Строка трассировки = контроллерUtil.generateTracerId(); log.info(MessageConstants.API_LOG_INFO,traceId, LocalDateTime.now(), "Синхронизация ClassLink начинается."); //classLinkService.fetchClassLinkData(traceId); log.info(MessageConstants.API_LOG_INFO,traceId, LocalDateTime.now(), "Синхронизация ClassLink завершена."); } Обратите внимание, что на сервере Linux нет докера или нескольких экземпляров. Только что установил сервер tomact в среду Linux и развернул загрузочный WAR-файл на сервере tomcat
Можете ли вы мне помочь с этим?
Мобильная версия