У меня есть служба Windows, которая вызывает хранимый proc снова и снова (в бесконечном цикле).Как обеспечить постоянный запуск процесса обслуживания Windows?
код выглядит следующим образом:
while(1)
{
callStoredProc();
doSomethingWithResults();
}
Однако, как там могут быть случаи, когда цикл застревает без ответа, но сервис все еще технически работает.
Я полагаю, что есть инструменты для мониторинга работоспособности службы, чтобы команды операций знали, чтобы перезапустить ее.
Но для моего сценария это не поможет, так как служба будет по-прежнему технически работать, но она застряла и не может продолжаться.
Каков наилучший способ, чтобы этот процесс перезапустился, если этот сценарий произошел?
Будет ли решение использовать планировщик задач, который проверяет на это пульс этого процесса и перезапускает сервис, если в течение некоторого времени нет пульса? Чтобы иметь другой отдельный поток, который отслеживает ход первого процесса?
Да. Вам нужен цикл, чтобы иметь сердечный ритм. –