Je suis en train de développer un script qui surveille un service en cas d'échec et lance une action différente en fonction de l'existence ou non d'une défaillance.service de surveillance pour "échec"
J'ai besoin d'un script python pour surveiller la sortie d'un programme python "monitor-services" et analyser la sortie de recherche pour une occurrence du mot "failure". S'il est présent, le script doit renvoyer une valeur true et s'exécuter pendant un maximum de 30 secondes renvoyant false si aucune occurrence de "failure" ne se produit.
sortie de l'échantillon retourné de "moniteur-services":
{Device} [/device/xxx] Networks = dbus.Array([dbus.ObjectPath('/device/xxx/xxx'), dbus.ObjectPath('/device/00242b2e41b6/hidden')], signature=dbus.Signature('o'), variant_level=1) {Service} [/profile/default/wifi_xxx_managed_wep] State = association {Profile} [/profile/default] Services = dbus.Array([dbus.ObjectPath('/profile/default/wifi_xxx_managed_wep'), dbus.ObjectPath('/profile/default/wifi_xxx_managed_rsn')], signature=dbus.Signature('o'), variant_level=1) {Manager} [/] Services = dbus.Array([dbus.ObjectPath('/profile/default/wifi_xxx_managed_wep'), dbus.ObjectPath('/profile/default/wifi_xxx_managed_rsn')], signature=dbus.Signature('o'), variant_level=1) {Service} [/profile/default/wifi_xxx_managed_wep] **failure** {Service} [/profile/default/wifi_xxx_managed_wep] State = idle
Toute aide serait appréciée. [Edit] Une erreur est susceptible de se produire avec 30 secondes environ de l'action déclenchant le script, par conséquent le script doit se terminer au bout de 30 secondes. [/ Edit]
Cela semble une chose très simple (au moins en Perl, il suffit d'utiliser la fonction "grep"). Pourquoi utilisez-vous Python? Pouvez-vous utiliser un langage que vous connaissez mieux ou qui présente des fonctionnalités simples (par exemple, Perl)? – DVK
Cela pourrait être un travail pour supervord. Ou pas. Mais reste. http://supervisord.org/ –