Heim > Backend-Entwicklung > Python-Tutorial > Was ist der Python-Befehlszeilen-Workflow zur Automatisierung geplanter Aufgaben?

Was ist der Python-Befehlszeilen-Workflow zur Automatisierung geplanter Aufgaben?

王林
Freigeben: 2023-05-13 17:01:11
nach vorne
1665 Leute haben es durchsucht

1. Verwendungsszenario

Führen Sie das Jmeter-Skript regelmäßig aus und führen Sie Befehlszeilenbefehle in regelmäßigen Abständen über den Python-Timer aus.

2. Bibliothek

os, datetime, threading

(1) Verwenden Sie den Threading.Timer()-Timer, um geplante Aufgaben zu implementieren

#🎜 🎜 #Timer(interval, function, args=None, kwargs=None)Timer erstellencancel()start()# 🎜🎜# join(self, timeout=None)Warten auf das Ende der Thread-AusführungDas grundlegendste Verständnis des Timers ist Mit dem Timer können mehrere zeitgesteuerte Aufgaben gestartet werden. Diese Timer-Aufgaben werden asynchron ausgeführt, sodass kein Problem besteht, auf die sequentielle Ausführung zu warten.
Timer-Methode Beschreibung
# 🎜 🎜#Timer abbrechen
Thread-Ausführung verwenden
3. Führen Sie das Skript aus

jmeter-Ausführungsbefehlszeile

jmeter -n -t Skriptname.jmx -l Skriptbericht Name .jtl

Parameterbeschreibung:

n Nicht-GUI-Modus, Befehlszeilenmodus (zeigt die Ausführung im Nicht-GUI-Modus an Modus)
  • -t-Testdatei, auszuführende Jmeter-Testskriptdatei (im Allgemeinen absoluten Pfad verwenden)
  • #🎜 🎜# -l Ergebnisdatei, die Datei, die die Ergebnisse aufzeichnet #-r Remote Execute, Remote-Server starten (alle von Remote-Hosts konfigurierten Remote-Agenten im Nicht-GUI-Modus starten)

  • -R Remote-Ausführung, (Start in Nicht-GUI-Modus. Geben Sie die Maschine (IP: PORT) als Proxy-Maschine an 🎜#

    # 🎜🎜#-o Gibt den Ordner an, in dem der Testbericht generiert wird. Der Ordner muss leer sein/existiert nicht
  • -H Proxy host (Legen Sie den von Jmeter verwendeten Proxy-Host fest)# 🎜🎜#
  • -P Proxy-Port (Legen Sie den von Jmeter verwendeten Proxy-Port fest)

  • #🎜🎜 #
  • -X-Exit (Nicht-GUI-Exit am Ende des Tests im Modus)

  • 4. Skript

    import os
    from datetime import datetime
    from threading import Timer
    # 定时任务
    def task():
        now = datetime.now()
        ts = now.strftime("%Y-%m-%d %H:%M:%S")
        print(datetime.now())
        a = os.system("jmeter -n -t /Users/liyinchi/workspace/功能测试/好慷/测试数据(压测脚本)/阶梯拼团多维表格20230418.jmx -l /Users/liyinchi/workspace/功能测试/好慷/测试数据(压测脚本)/阶梯拼团多维表格20230418-result.jtl")
        print(a)
    # 执行器
    def func():
        task()
        t = Timer(60*1, func)
        t.start()
    func()
    Nach dem Login kopieren

    Ausführungsergebnis:
  • 5. Häufig verwendete geplante Aufgaben in Python
  • while True:+sleep()

  • threading.Timer timer
  • #🎜🎜 #Timeloop-Bibliothek führt geplante Aufgaben aus

    Modulplanung planen
  • Modulplanung planen

    #🎜🎜 #Aufgaben-Framework APScheduler

  • Verteilte Nachrichten System Sellerie führt geplante Aufgaben aus

Verwenden Sie die geplanten Aufgaben, die mit Windows geliefert werden

6 Befehlszeile mit Python

(1) os .systemWas ist der Python-Befehlszeilen-Workflow zur Automatisierung geplanter Aufgaben?

import os
a=os.system("ls")
a
Nach dem Login kopieren

Beim Ausführen des Programms wird die Ausgabe angezeigt und der Rückgabewert a ist der Programm-Exit-Code

# 🎜🎜# (2) os.popen

import os
a=os.popen("ls")
a.readline()
Nach dem Login kopieren

Der Rückgabewert ist eine Dateidatei,

file.readlines() ist der Rückgabewert des Befehls

(3) Unterprozess

Sie können einen Unterprozess in einem Python-Programm erstellen,

subprocess.call()

import subprocess
 subprocess.call(['ls','-l' ])
Nach dem Login kopieren

Darunter , 'ls' entspricht dem in der Befehlszeile eingegebenen Befehl und -l ist die entsprechende Operation. Gibt den Programm-Exit-Code zurück, ähnlich wie os.system

subprocess.check_output('ls')
Nach dem Login kopieren

Gibt die Standardausgabe zurück, ähnlich wie os.popen.

Sie können das Popen-Objekt auch aufrufen, um Operationen auszuführen. Unterprozess

import subprocess
child = subprocess.Popen('ping -c4 blog.linuxeye.com',shell=True)
Nach dem Login kopieren

Zu diesem Zeitpunkt können mehrere Befehle zur Steuerung des Unterprozesses verwendet werden. Sie können subprocess.PIPE auch verwenden, um die Eingabe und Ausgabe des Selbstprozesses zu verbinden ...

Das obige ist der detaillierte Inhalt vonWas ist der Python-Befehlszeilen-Workflow zur Automatisierung geplanter Aufgaben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage