Wie man eine Funktion wiederholt ohne Cron ausführt
Python-Enthusiasten stehen oft vor der Herausforderung, eine Funktion ständig in bestimmten Intervallen auszuführen, ohne dass dies erforderlich ist komplexe Cron-Setups. Ein unkomplizierter Ansatz besteht darin, eine einfache While-Schleife zu verwenden.
while True: # Code executed here time.sleep(60)
Dieser Code scheint dem Zweck zu dienen, alle 60 Sekunden kontinuierlich eine Funktion auszuführen. Dieser Ansatz birgt jedoch potenzielle Fallstricke. Da die Schleife endlos weiterläuft, besteht das Risiko einer Ressourcenerschöpfung, was zu Leistungseinbußen oder Systemabstürzen führt.
Um diese Probleme elegant zu lösen, sollten Sie die Verwendung eines Ereignisplaners wie des Sched-Moduls in Python in Betracht ziehen.
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()
Das Scheduling-Modul ermöglicht die Planung von Aufgaben mit detaillierter Kontrolle ihrer Ausführungszeiten. In diesem Szenario fungiert do_something() als Rückruffunktion, die sich alle 60 Sekunden neu plant und gleichzeitig die beabsichtigte Aufgabe ausführt. Dieser Mechanismus gewährleistet die kontinuierliche Ausführung der Funktion im angegebenen Intervall, ohne die Reaktionsfähigkeit des Programms zu beeinträchtigen.
Im Wesentlichen bietet die Nutzung von Ereignisplanern eine robustere und ressourceneffizientere Lösung für die wiederholte Ausführung von Funktionen in Python ohne die Einschränkungen von while Schleifen.
Das obige ist der detaillierte Inhalt vonWie führe ich eine Python-Funktion wiederholt ohne Cron-Job oder Ressourcenerschöpfung aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!