La méthode xfnts_probe appelle scds_fm_action() pour déterminer la mesure à prendre. La logique scds_fm_action() est la suivante :
Gérez un historique cumulé des pannes dans la valeur de la propriété Intervalle_nouvelles_tentatives.
Si les pannes cumulées atteignent 100 (échec total), redémarrez le service de données. Si Intervalle_nouvelles_tentatives est dépassé, réinitialisez l'historique.
Si le nombre de redémarrage dépasse la valeur de la propriété Nombre_nouvelles_tentatives, dans le délai spécifié par Intervalle_nouvelles_tentatives, basculez le service de données.
Par exemple, supposons que la sonde établisse une connexion au serveur xfs, mais ne puisse pas se déconnecter. Ceci indique que le serveur tourne mais qu'il peut être bloqué ou être provisoirement soumis à une forte charge. Un échec de la déconnexion renvoie une erreur partielle (50) à scds_fm_action(). Cette valeur se situe sous le seuil de redémarrage du service de données, mais la valeur est gérée dans l'historique des pannes.
Si, pendant le sondage suivant, le serveur n'arrive à nouveau pas à se déconnecter, une valeur 50 est ajoutée à l'historique des pannes géré par scds_fm_action(). La valeur cumulée des pannes est à présent de 100. Par conséquent, scds_fm_action() redémarre le service de données.