У меня есть служба, которая сохраняет некоторые данные на SQL сервере. 2 из полей, которые я сохраняю, называются
is_valid
, что является просто проверкой безопасности, на случай, если нам потребуется аннулировать текущий запуск службы (и любые данные, которые он сохранил в БД) в будущем.
Другим полем является end_execution_time
, это время окончания текущей услуги.
Когда я запускаю службу, у меня есть is_valid=0
и end_execution_time=NULL
. Когда пробег завершается (успешно), у меня есть is_valid=1
и end_execution_time=GETDATETIME()
. Теперь вот мое беспокойство
У меня есть 3 сценария ios, которые могут произойти ->
- Сбой при запуске службы. Код знает, что запустить не удалось. Поэтому мы обновляем в БД, что
is_valid = 0
. end_execution_time
остается NULL. - По какой-то причине Run завершается неудачно, и код также перестает работать (что-то вроде Ctrl- C в терминале).
is_valid
изначально имеет значение 0. оно все еще остается нулевым. end_execution_time
остается NULL. - активен некоторый прогон. прямо сейчас is_valid равен 0.
end_execution_time
равен NULL.
В БУДУЩЕМ, КАК ПРОВЕРИТЬ, СОДЕРЖИТСЯ НЕДОСТАТОЧНО НЕКОТОРЫЙ СЕРВИС, ИЛИ ПРЕКРАТИЛ ПРЕКРАЩЕНО?
Есть нет никакого способа отличить guish между вторым и третьим случаями. Пожалуйста, помогите мне. Я использую Spring-Mybatis и Java / Kotlin