Maison  >  Article  >  développement back-end  >  Comment exécuter une fonction à intervalles réguliers en Python ?

Comment exécuter une fonction à intervalles réguliers en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-11 05:28:02350parcourir

How to Execute a Function at Regular Intervals in Python?

Planification de tâches périodiques avec précision

Requête initiale :

Comment peut-on exécuter une fonction spécifique à intervalles réguliers, comme comme toutes les 10 secondes ?

Solution utilisant Timer :

Pour résoudre ce problème, envisagez d'utiliser la classe Timer de Python. Dans la fonction cible, instanciez un nouveau Timer et configurez-le pour appeler la même fonction après l'intervalle de temps souhaité.

Exemple d'implémentation :

Le code Python suivant illustre cela approche :

import time, threading

def foo():
    print(time.ctime())
    threading.Timer(10, foo).start()

foo()

En s'appelant à la fin de chaque intervalle, la fonction assure une exécution continue sans bloquer les autres tâches. Le résultat du programme peut ressembler à :

Thu Dec 22 14:46:08 2011
Thu Dec 22 14:46:18 2011
Thu Dec 22 14:46:28 2011
Thu Dec 22 14:46:38 2011

Avantages de la planification basée sur une minuterie :

  • Précision : l'exécution de la fonction se produit à des intervalles spécifiés, même sous une charge système importante.
  • Non bloquant : il permet à d'autres opérations de se poursuivre sans attendre la fin de la fonction périodique.
  • Gestion des threads : la classe Timer gère la création et la gestion des threads, simplifiant ainsi processus de planification.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn