J'ai presque terminé un service Windows basé sur Quartz.NET (en utilisant ADO.NET, pas en RAM). Le service copie/déplace les fichiers vers différents chemins en fonction d'un planning. J'ai quelques inquiétudes cependant. Il est très important que ce service dispose d'une sorte de méthode/système de détection qui détectera quand le programme a échoué pour une raison quelconque - que ce soit les fichiers qui ne sont pas copiés, ou que le planificateur entier plante. Je me demandais juste ce que vous pensez être la meilleure façon de faire cela? J'ai quelques idées vagues mais je cherche à entendre plus de commentaires.Méthodes de prévention/détection de défaillance de Quartz.NET
Répondre
Voici les méthodes que nous utilisons:
Nous surveillons le service Windows lui-même en utilisant le système de surveillance informatique. Nous utilisons un de ces produits commerciaux qui surveille les serveurs, les services, les bases de données, etc., mais il existe des projets open source qui peuvent le faire pour vous si vous n'en avez pas déjà un en place.
Nous enregistrons des erreurs fatales dans une table de base de données et un service distinct surveille cette table pour les exceptions. Nous utilisons également un magasin ADO.Net, donc nous surveillons également les tables Quartz.net pour des choses comme les déclencheurs bloqués.
Avec des choses comme ça, vous pouvez certainement aller sur le chemin de l'ingénierie. Gardez simplement à l'esprit le coût-avantage de l'ajout de chacune de ces options, puis décidez combien de travail vous voulez mettre en surveillance, VS le coût d'une panne.
Merci pour la bonne réponse, ce sont d'excellentes suggestions et j'en tiendrai compte. – Chris