Я почти завершил службу Windows на основе Quartz.NET (используя ADO.NET, а не задания RAM). Служба копирует/перемещает файлы по различным путям в зависимости от расписания. Однако у меня есть некоторые опасения. Очень важно, чтобы у этой службы был какой-то метод/система обнаружения, которая обнаружит, когда программа по какой-либо причине не удалась - будь то сбой копирования файлов или сбой всего планировщика. Просто интересно, как вы, ребята, думаете, это лучший способ сделать это? У меня есть пара расплывчатых идей, но я хочу услышать больше информации.
Методы предотвращения/обнаружения сбоев Quartz.NET
Ответы (1)
Вот методы, которые мы используем:
Мониторим сам сервис windows с помощью системы IT-мониторинга. Мы используем один из тех коммерческих продуктов, которые отслеживают серверы, службы, базы данных и т. д., но есть проекты с открытым исходным кодом, которые могут сделать это за вас, если у вас еще нет такого.
Мы записываем неустранимые исключения в таблицу базы данных, и у нас есть отдельная служба, отслеживающая эту таблицу на наличие исключений.
Мы также используем хранилище ADO.Net, поэтому мы также отслеживаем таблицы Quartz.net на наличие таких вещей, как зависшие триггеры.
С такими вещами вы определенно можете пойти по пути инженерии. Просто имейте в виду экономическую выгоду от добавления каждой из этих опций, а затем решите, сколько работы вы хотите вложить в мониторинг по сравнению со стоимостью простоя.