J'ai un certain nombre de processus dorsaux (applications Java) qui s'exécutent 24/7. Pour surveiller ces backends (c'est-à-dire pour vérifier si un processus ne répond pas et notifier via SMS/EMAIL), j'ai écrit une autre application.Backend processus VS tâche planifiée
Les anciens backends enregistrent désormais les pulsations à intervalles réguliers et ces nouvelles applications vérifient si elles le font régulièrement et notifient si nécessaire.
Maintenant, nous avons deux options
- soit exécuté comme une tâche planifiée, qui se déroulera après chaque (sans dire) 15 min et arrêter après avoir fait son travail ou
- Exécuter comme un autre backend traiter avec 15 min de temps de sommeil.
Le problème que nous pouvons prévoir en ce moment est le suivant: que se passe-t-il si cette application de surveillance passe à l'état de non-réponse? Donc, ma question est Y at-il une différence entre les deux cas ou les deux sont les mêmes? Quelle option conviendrait le mieux à mon cas?
S'il vous plaît noter que ceci est un cas particulier et n'est pas identique à this ou this
Environnement: Java, hébergé sur le serveur LINUX
Le processus de surveillance se déroulera comme un processus distinct dans les deux cas. Dans le premier cas, il serait déclenché par le planificateur du système après chaque x min. Dans le deuxième cas, le processus serait exécuté 24 heures sur 24 et 7 jours sur 7 avec un temps de repos x min. –
OK, comme je l'explique dans ma réponse la méthode d'exécution du processus de surveillance est académique tant qu'elle ne détient aucun état. Personnellement, je ferais probablement une tâche éphémère déclenchée par un travail cron, juste pour m'assurer que j'ai un exécutable moins long à gérer (les applications de surveillance peuvent également tomber en panne). Cependant, l'absence totale de rapports devrait être suffisamment révélateur de ce qui ne va pas. – seanhodges