Maison > développement back-end > Tutoriel Python > Comment utiliser la minuterie Python

Comment utiliser la minuterie Python

王林
Libérer: 2023-05-12 16:43:10
avant
1529 Les gens l'ont consulté

Ici, nous développons une fonction print_datetime pour imprimer l'heure actuelle, et utilisons également la fonction print_time comme tâche que nous devons continuer à exécuter.

# Importing the datetime module.
import datetime


def print_time(message=None):
    """
    It prints the current time, optionally preceded by a message.

    :param message: The message to print
    """
    print(message, datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
Copier après la connexion

Ensuite, nous préparons le module de tâches planifiées apscheduler que nous devons utiliser. Vous pouvez choisir de l'installer en utilisant pip.

pip install apscheduler

# Importing the BlockingScheduler class from the apscheduler.schedulers.blocking module.
from apscheduler.schedulers.blocking import BlockingScheduler
Copier après la connexion

À ce stade, nous pouvons exécuter la fonction métier qui doit être maintenue dans l'état d'exécution, c'est-à-dire la fonction print_datetime ici en tant que tâche planifiée.

De cette façon, nous n'avons pas besoin d'utiliser la méthode while True infinite loop + sleep pour maintenir la tâche en cours d'exécution.

# Creating a scheduler object.
scheduler = BlockingScheduler()

# Adding a job to the scheduler.
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', second='*/1')  # 每秒执行

# Starting the scheduler in a separate thread.
scheduler.start()
Copier après la connexion

Enfin, démarrez simplement le fichier .py actuel pour exécuter directement la tâche planifiée. L'effet d'exécution est le suivant.

Tâche planifiée d'impression de l'heure 2023-02-26 13:52:52
Tâche planifiée d'impression de l'heure 2023-02-26 13:52:53
Impression de l'heure Tâche planifiée 2023-02-26 13:52:54
Tâche planifiée d'impression de l'heure 2023-02-26 13:52:55
Tâche planifiée d'impression de l'heure 2023-02-26 13:52:56#🎜 🎜#TimePrint Scheduled Task 2023-02-26 13:52:57

Bien sûr, en tant que framework apscheduler pour les tâches planifiées, il possède également de nombreuses compétences. Par exemple : exécution en cycles plus complexes, exécution dans un temps limité, exécution en un seul point, etc.

Ce qui suit est la méthode d'exécution la plus courante de la tâche planifiée d'apscheduler que j'ai répertoriée pour votre référence et vos précieux avis.

scheduler.add_job(func=print_time, args=('任务只执行一次,在下一次的时间执行',),
                  next_run_time=datetime.datetime.now() + datetime.timedelta(seconds=60))

scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', seconds=5)  # 每5秒执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', minutes=2)  # 每2分钟执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', hours=1)  # 每1小时执行一次

scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', minute='*', second='1')  # 每分钟执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='*', minute='0',
                  second='0')  # 每小时执行一次

scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='20', minute='0',
                  second='0')  # 每天20:00执行一次
scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='21')  # 每天21:00执行一次
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal