Heim  >  Artikel  >  Backend-Entwicklung  >  Python implementiert geplante Aufgaben

Python implementiert geplante Aufgaben

高洛峰
高洛峰Original
2017-02-10 09:22:551892Durchsuche

In diesem Artikel wird hauptsächlich Python zur Implementierung geplanter Aufgaben vorgestellt. Es gibt hauptsächlich 5 Methoden, auf die sich interessierte Freunde beziehen können.

Es gibt viele Möglichkeiten, geplante Aufgaben in Python zu implementieren. Hier sind mehrere

Loop-Sleeps:

Dies ist der einfachste Weg, die auszuführenden Dinge in die Loop-Aufgabe einzufügen, und dann eine Weile schlafen, bevor Sie es ausführen. Der Nachteil besteht darin, dass es nicht leicht zu kontrollieren ist und der Schlaf eine blockierende Funktion hat.

def timer(n): 
  ''''' 
  每n秒执行一次 
  ''' 
  while True:  
    print time.strftime('%Y-%m-%d %X',time.localtime())  
    yourTask() # 此处为要执行的任务  
    time.sleep(n)

Einfädel-Timer:

Einfädelmodul-Timer kann helfen implementiert geplante Aufgaben und ist nicht blockierend.

Zum Beispiel „helloworld“ nach 3 Sekunden drucken:

def printHello(): 
  print "hello world" 
 
Timer(3, printHello).start()

Zum Beispiel „helloworld“ alle 3 Sekunden drucken:

def printHello(): 
  print "Hello World" 
  t = Timer(2, printHello) 
  t.start() 
 
 
if __name__ == "__main__": 
  printHello()

Verwenden Sie das sched-Modul:

sched ist eine Art von Planung (verzögerter Verarbeitungsmechanismus).

# -*- coding:utf-8 -*- 
# use sched to timing 
import time 
import os 
import sched 
 
 
# 初始化sched模块的scheduler类 
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。 
schedule = sched.scheduler(time.time, time.sleep) 
 
 
# 被周期性调度触发的函数 
def execute_command(cmd, inc): 
  ''''' 
  终端上显示当前计算机的连接情况 
  ''' 
  os.system(cmd) 
  schedule.enter(inc, 0, execute_command, (cmd, inc)) 
 
 
def main(cmd, inc=60): 
  # enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数, 
  # 给该触发函数的参数(tuple形式) 
  schedule.enter(0, 0, execute_command, (cmd, inc)) 
  schedule.run() 
 
# 每60秒查看下网络连接情况 
if __name__ == '__main__': 
  main("netstat -an", 60)

Verwenden Sie das Timing-Framework APScheduler:

APScheduler basiert on Quartz ist ein Python-Framework für geplante Aufgaben. Stellt Aufgaben basierend auf Datum, festem Zeitintervall und Crontab-Typ bereit und kann Aufgaben beibehalten.

Ich habe das selbst noch nicht ausprobiert, ich werde nach einiger Zeit weitere hinzufügen.

Verwenden Sie geplante Windows-Aufgaben:

Hier können Sie das erforderliche Python-Programm in eine EXE-Datei packen und es dann unter ausführen Windows: Geplante Ausführung einrichten.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.

Weitere Artikel zur Implementierung geplanter Aufgaben in Python finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn