Comment mettre en place une minuterie chien de garde en Python?
J'aimerais implémenter un simple minuteur de surveillance en Python, avec deux cas d'utilisation:
- De surveillance veille à ce qu'une fonction ne fait pas exécuter plus de
x
secondes - De surveillance s'assure que certains sont exécutés régulièrement la fonction ne fait exécuter au moins tous les
y
secondes
Comment dois-je faire?
OriginalL'auteur Sergiy Belozorov | 2013-04-22
Vous devez vous connecter pour publier un commentaire.
Seulement de publier ma propre solution:
D'utilisation si vous voulez vous assurer que la fonction se termine en moins de
x
secondes:D'utilisation si vous avez régulièrement exécuter quelque chose et veulent s'assurer qu'il est exécuté au moins tous les
y
secondes:Timer()
ici?Nope, n'ont pas entendu parler. Je suis débutant. Mais je vais vérifier une fois j'ai plus de temps pour cela...
Je ne suis pas sûr au sujet de votre
reset
méthode. Dans votre__init__
votreTimer
interrupteurs en fonction siuserHandler
(qui devrait êtreis not None
BTW) est fourni, cas dans lequel il est utilisé. Dansreset
- c'est toujoursself.handler
qui seront ensuite utilisées...appliqué PEP8, correction d'un bug en cours de réinitialisation. Merci.
Je pense que le
__init__
fonction etreset
besoin de fonction à appelerself.timer.start()
.OriginalL'auteur
signal.alarm()
définit un délai d'attente de votre programme, et vous pouvez l'appeler comme ça dans ta boucle principale, et la plus grande des deux fois que vous êtes prêt à tolérer:OriginalL'auteur Des Cent