Maison > développement back-end > Tutoriel Python > Comment puis-je exécuter périodiquement une fonction Python ?

Comment puis-je exécuter périodiquement une fonction Python ?

Patricia Arquette
Libérer: 2024-12-23 18:07:14
original
506 Les gens l'ont consulté

How Can I Execute a Python Function Periodically?

Exécuter périodiquement une fonction en Python

Lorsqu'ils sont chargés d'exécuter une fonction de manière répétée à intervalles fixes, les développeurs recherchent souvent une méthode fiable similaire à Objective NSTimer de C ou setTimeout de JavaScript. Dans ce contexte, une solution qui ressemble à un script cron indépendant de l'utilisateur apparaît comme une option intéressante.

Pour y parvenir en Python, on pourrait envisager l'approche suivante :

while True:
    # Code executed here
    time.sleep(60)
Copier après la connexion

Cependant, ce code peut présenter des problèmes imprévus. Pour les contourner, pensez à utiliser le module sched, un planificateur d'événements à usage général. L'exemple suivant démontre son utilisation :

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()
Copier après la connexion

Alternativement, si votre application utilise une bibliothèque de boucles d'événements comme asyncio, trio, tkinter ou autres, vous pouvez directement planifier des tâches à l'aide des méthodes fournies.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal