欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python命令行定時(shí)任務(wù)自動化工作流程

 更新時(shí)間:2023年04月25日 10:35:18   作者:liyinchi1988  
本文介紹如何使用Python編寫定時(shí)任務(wù),以自動執(zhí)行命令行任務(wù)。您將學(xué)習(xí)如何安排定期的任務(wù),處理任務(wù)結(jié)果,以及如何使用Python自動化工作流程,從而提高工作效率。無需手動執(zhí)行重復(fù)任務(wù),Python幫您搞定

1.使用場景

定時(shí)執(zhí)行jmeter腳本,通過python定時(shí)器隔一段時(shí)間執(zhí)行命令行命令。

2.庫

os、datetime、threading

(1)利用threading.Timer()定時(shí)器實(shí)現(xiàn)定時(shí)任務(wù)

Timer方法說明
Timer(interval, function, args=None, kwargs=None)創(chuàng)建定時(shí)器
cancel()取消定時(shí)器
start()使用線程方式執(zhí)行
join(self, timeout=None)等待線程執(zhí)行結(jié)束

timer最基本理解就是定時(shí)器,可以啟動多個(gè)定時(shí)任務(wù),這些定時(shí)器任務(wù)是異步執(zhí)行,所以不存在等待順序執(zhí)行問題。

3.運(yùn)行腳本

jmeter執(zhí)行命令行

jmeter -n -t 腳本名稱.jmx -l 腳本報(bào)告名稱.jtl

參數(shù)說明:

  • n 非GUI模式,命令行模式(表示在非GUI模式下運(yùn)行)
  • -t 測試文件, 要運(yùn)行的jmeter測試腳本文件(一般使用絕對路徑)
  • -l 結(jié)果文件,記錄結(jié)果的文件
  • -h 獲取jmeter幫助信息
  • -r 遠(yuǎn)程執(zhí)行,啟動遠(yuǎn)程服務(wù)器(non-gui模式下啟動remote-hosts配置的所有遠(yuǎn)程代理機(jī))
  • -R 遠(yuǎn)程執(zhí)行,(non-gui模式下啟動指定的機(jī)器(IP:PORT)作為代理機(jī))
  • -e 設(shè)置測試完成后生成測試報(bào)表
  • -o 指定測試報(bào)表生成的文件夾,文件夾必須為空/不存在
  • -H 代理主機(jī)(設(shè)置jmeter使用的代理主機(jī))
  • -P 代理端口(設(shè)置jmeter使用的代理端口)
  • -X 退出(non-gui模式下測試結(jié)束時(shí)退出)

4.腳本

import os
from datetime import datetime
from threading import Timer
# 定時(shí)任務(wù)
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/功能測試/好慷/測試數(shù)據(jù)(壓測腳本)/階梯拼團(tuán)多維表格20230418.jmx -l /Users/liyinchi/workspace/功能測試/好慷/測試數(shù)據(jù)(壓測腳本)/階梯拼團(tuán)多維表格20230418-result.jtl")
    print(a)
# 執(zhí)行器
def func():
    task()
    t = Timer(60*1, func)
    t.start()
func()

執(zhí)行結(jié)果:

5.python常用的定時(shí)任務(wù)

while True:+sleep()

threading.Timer定時(shí)器

Timeloop庫執(zhí)行定時(shí)任務(wù)

調(diào)度模塊sched

調(diào)度模塊schedule

任務(wù)框架APScheduler

分布式消息系統(tǒng)celery執(zhí)行定時(shí)任務(wù)

使用windows自帶的定時(shí)任務(wù)

6.四種方法用python調(diào)用命令行

(1)os.system

import os
a=os.system("ls")
a

運(yùn)行程序會顯示輸出,返回值a為程序退出碼

(2)os.popen

import os
a=os.popen("ls")
a.readline()

返回值為一個(gè)file文件,

file.readlines()為命令的返回值

(3)subprocess

可以在python程序中創(chuàng)建子進(jìn)程,

subprocess.call()

import subprocess
 subprocess.call(['ls','-l' ])

其中,'ls’對應(yīng)命令行輸入的命令,-l為相應(yīng)的操作。返回程序退出碼,類似于os.system

subprocess.check_output('ls')

返回標(biāo)準(zhǔn)輸出,類似于os.popen。

也可以調(diào)用Popen對象來進(jìn)行操作。subprocess

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

此時(shí),可以用多個(gè)命令控制子進(jìn)程。也可以用subprocess.PIPE,將自進(jìn)程輸入輸出連接……

(4)commands

import commands
 commands.getoutput('ls')

返回程序輸出

到此這篇關(guān)于Python命令行定時(shí)任務(wù)自動化工作流程的文章就介紹到這了,更多相關(guān)Python命令行定時(shí)任務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論