Comment exécuter une fonction de manière répétée sans Cron
Les passionnés de Python sont souvent confrontés au défi d'exécuter perpétuellement une fonction à des intervalles spécifiés sans avoir besoin de configurations cron complexes. Une approche simple consiste à utiliser une simple boucle while.
while True: # Code executed here time.sleep(60)
Ce code semble avoir pour objectif d'exécuter en continu une fonction toutes les 60 secondes. Cependant, cette approche comporte des pièges potentiels. Comme la boucle continue de s'exécuter sans fin, il existe un risque d'épuisement des ressources, entraînant un ralentissement des performances ou des pannes du système.
Pour résoudre ces problèmes en douceur, envisagez d'utiliser un planificateur d'événements tel que le module sched en Python.
import sched, time def do_something(scheduler): # schedule the next call first scheduler.enter(60, 1, do_something, (scheduler,)) print("Doing stuff...") # then do your stuff my_scheduler = sched.scheduler(time.time, time.sleep) my_scheduler.enter(60, 1, do_something, (my_scheduler,)) my_scheduler.run()
Le module sched permet la planification de tâches avec un contrôle complexe sur leurs temps d'exécution. Dans ce scénario, do_something() fonctionne comme une fonction de rappel qui se replanifie toutes les 60 secondes et exécute simultanément la tâche prévue. Ce mécanisme garantit l'exécution continue de la fonction à l'intervalle spécifié sans entraver la réactivité du programme.
Essentiellement, l'exploitation des planificateurs d'événements fournit une solution plus robuste et plus économe en ressources pour exécuter de manière répétée des fonctions en Python sans les limitations de while boucles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!