Я работал над многими приложениями, которые запускаются как служба Windows или по расписанию.
Теперь я хочу убедиться, что эти приложения будут отказоустойчивыми и надежными. Например; У меня есть служба, которая работает каждый час. если служба аварийно завершает работу во время работы или работы, я бы хотела, чтобы приложение снова запускалось на тот же период (с этим связано несколько вещей, включая транзакции обработки данных), чтобы избежать потери данных. Более того, мне бы хотелось, чтобы программа сообщала об ошибке с подробностями. Моя цель - избежать потери данных и не отстать от запуска программы.
Я создал библиотеку классов, которую пользователь может импортировать в проект. Библиотека должна хранить информацию о запущенном экземпляре программы, т.е. Программа считывает и записывает информацию об интервале выполнения, состоянии выполнения и т. д. Эти данные хранятся в базе данных.
Мне было любопытно, есть ли лучшие рекомендации, чтобы сделать запланированные задачи / службы Windows отказоустойчивыми и надежными.
Редактировать: я говорю о независимых задачах или сервисах, которые на разных серверах. и моя цель - обеспечить, чтобы служба продолжала работать, сообщать о любых сбоях и устранять их.