Hier entwickeln wir eine print_datetime-Funktion, um die aktuelle Uhrzeit zu drucken, und verwenden die print_time-Funktion auch als Aufgabe, die wir weiterhin ausführen müssen.
# 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'))
Dann bereiten wir den Apscheduler für geplante Aufgaben vor, den wir verwenden müssen. Sie können ihn mit pip installieren.
pip install apscheduler # Importing the BlockingScheduler class from the apscheduler.schedulers.blocking module. from apscheduler.schedulers.blocking import BlockingScheduler
An diesem Punkt können wir die Geschäftsfunktion, die im Ausführungsstatus gehalten werden muss, also die Funktion print_datetime, hier als geplante Aufgabe ausführen.
Auf diese Weise müssen wir nicht die Methode while True Endlosschleife + Schlaf verwenden, um die Aufgabe im laufenden Zustand zu halten.
# 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()
Zum Schluss starten Sie einfach die aktuelle .py-Datei, um die geplante Aufgabe direkt auszuführen. Der laufende Effekt ist wie folgt.
Zeitdruck der geplanten Aufgabe 26.02.2023 13:52:52
Zeitdruck der geplanten Aufgabe 26.02.2023 13:52:53
Zeitdruck der geplanten Aufgabe 26.02.2023 13:52:54
Zeitdruck Geplante Aufgabe 26.02.2023 13:52:55
Zeitdruck geplante Aufgabe 26.02.2023 13:52:56
Zeitdruck geplante Aufgabe 26.02.2023 13:52:57
Natürlich als Geplante Aufgabe Das Framework Apscheduler verfügt auch über viele Fähigkeiten. Zum Beispiel: Ausführung in komplexeren Zyklen, Ausführung innerhalb einer begrenzten Zeit, Einzelpunktausführung usw.
Im Folgenden finden Sie eine Liste der gebräuchlichsten Methoden zur Ausführung geplanter Aufgaben durch Apscheduler, die ich als Referenz und wertvolle Vorschläge aufgeführt habe.
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执行一次
Das obige ist der detaillierte Inhalt vonSo verwenden Sie den Python-Timer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!