Python命令行定时任务自动化工作流程
目录
1.使用场景2.库3.运行脚本4.脚本5.python常用的定时任务6.四种方法用python调用命令行1.使用场景
定时执行jmeter脚本,通过python定时器隔一段时间执行命令行命令。
2.库
os、datetime、threading
(相关资料图)
(1)利用threading.Timer()定时器实现定时任务
| Timer方法 | 说明 |
|---|---|
| Timer(interval, function, args=None, kwargs=None) | 创建定时器 |
| cancel() | 取消定时器 |
| start() | 使用线程方式执行 |
| join(self, timeout=None) | 等待线程执行结束 |
timer最基本理解就是定时器,可以启动多个定时任务,这些定时器任务是异步执行,所以不存在等待顺序执行问题。
3.运行脚本
jmeter执行命令行
jmeter -n -t 脚本名称.jmx -l 脚本报告名称.jtl
参数说明:
n 非GUI模式,命令行模式(表示在非GUI模式下运行)-t 测试文件, 要运行的jmeter测试脚本文件(一般使用绝对路径)-l 结果文件,记录结果的文件-h 获取jmeter帮助信息-r 远程执行,启动远程服务器(non-gui模式下启动remote-hosts配置的所有远程代理机)-R 远程执行,(non-gui模式下启动指定的机器(IP:PORT)作为代理机)-e 设置测试完成后生成测试报表-o 指定测试报表生成的文件夹,文件夹必须为空/不存在-H 代理主机(设置jmeter使用的代理主机)-P 代理端口(设置jmeter使用的代理端口)-X 退出(non-gui模式下测试结束时退出)4.脚本
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()执行结果:
5.python常用的定时任务
while True:+sleep()
threading.Timer定时器
Timeloop库执行定时任务
调度模块sched
调度模块schedule
任务框架APScheduler
分布式消息系统celery执行定时任务
使用windows自带的定时任务
6.四种方法用python调用命令行
(1)os.system
import os
a=os.system("ls")
a运行程序会显示输出,返回值a为程序退出码
(2)os.popen
import os
a=os.popen("ls")
a.readline()返回值为一个file文件,
file.readlines()为命令的返回值
(3)subprocess
可以在python程序中创建子进程,
subprocess.call()
import subprocess subprocess.call(["ls","-l" ])
其中,"ls’对应命令行输入的命令,-l为相应的操作。返回程序退出码,类似于os.system
subprocess.check_output("ls")返回标准输出,类似于os.popen。
也可以调用Popen对象来进行操作。subprocess
import subprocess
child = subprocess.Popen("ping -c4 blog.linuxeye.com",shell=True)此时,可以用多个命令控制子进程。也可以用subprocess.PIPE,将自进程输入输出连接……
(4)commands
import commands
commands.getoutput("ls")返回程序输出
到此这篇关于Python命令行定时任务自动化工作流程的文章就介绍到这了,更多相关Python命令行定时任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
关键词:
上一篇:佛山挂牌出让南海区大沥镇一宗住宅用地 起始价25.15亿
下一篇:最后一页
- 女童不慎掉入20米深井 18岁小姨三次下井成功营救
- 西安3个区域12月28日起每日开展全员核酸 官方提倡民众居家健身
- 浙江乐清一核酸检测结果异常人员 复采复检为阴性
- 浙江本轮疫情报告确诊病例490例 提倡“双节”非必要不出省
- 西安警方通报6起涉疫违法案件
- 西安新一轮核酸筛查日检测能力达160万管
- 西安市累计报告本土确诊病例811例
- 重庆曝光4起违反中央八项规定精神典型问题 警示党员干部清新过节
- 云南清水河边检站查获走私玉石和玉石毛料65公斤
- 吉林市政协原党组成员、副主席孙洪彬被开除党籍和公职
-
云南清水河边检站查获走私玉石和玉石毛料65公斤
中新网临沧12月28日电 (徐媛 雷珍玉)记者28日从云南清水河出入境边防检查站获悉,该站近日在清水河口岸查获一起利用货车藏匿走私玉石
-
吉林市政协原党组成员、副主席孙洪彬被开除党籍和公职
中央纪委国家监委网站讯 据吉林省纪委监委消息:日前,经吉林省委批准,吉林省纪委监委对吉林市政协原党组成员、副主席孙洪彬严重违纪
-
陕西延安新增2例确诊病例 活动轨迹公布
陕西延安新增2例确诊病例 活动轨迹公布→ 今日(28日),陕西延安市举行新冠肺炎疫情防控新闻发布会。会上介绍,截至2021年12月28日
-
陕西延安公布新划定中风险地区
12月28日,陕西延安市举行新冠肺炎疫情防控新闻发布会。 为了进一步强化辖区疫情防控工作,延安市宝塔区应对疫情指挥部出台了五条防
-
陕西延安新增2例本土确诊病例 均在宝塔区
今日(28日),陕西延安市举行新冠肺炎疫情防控新闻发布会。 会上介绍,截至2021年12月28日,延安市新增本土确诊病例2例,均在宝塔区
-
西安累计报告本土确诊病例811例
今天(12月28日)下午,西安市召开疫情防控新闻发布会,介绍疫情防控最新进展。 会上通报,2021年12月27日0时-24时,西安市新增本土
-
西安疫情的八个关键问题,专家这么研判
这几天,西安的疫情牵动着全国人民的心。12月27日,西安市新增确诊病例175例。从12月9日0时到12月27日24时,本轮西安全市累计报告本土
-
向家暴说“不 ” 山西各方联动打通反家暴“最后一公里”
中新网太原12月28日电 题:向家暴说“不” 山西各方联动打通反家暴“最后一公里” 作者 吴琼 高瑞峰 赵娟 “对于家庭暴力
-
让农民工不再忧“薪” 湖南祁阳高效根治欠薪
中新网永州12月28日电 (刘志军 周盛波)“感谢你们,没有你们不辞辛苦、多次讨要,我们肯定拿不着钱,这个年肯定过不好。”27日,农民
-
外逃死亡的犯罪嫌疑人张正欣贪污违法所得没收案一审公开宣判
青岛市中级人民法院今天对犯罪嫌疑人张正欣贪污违法所得没收案进行公开宣判,裁定没收高度可能属于张正欣贪污违法所得的5家公司100%股
X 关闭
北京将建立保障房房源长效筹集机制 持续优化审核分配机制
南宁水源地环境问题提前清零 以高质量饮水安全促进乡村振兴
西安新增本土确诊病例150例 详情发布
广东最低气温跌至-6℃现冰挂 部分道路及海上交通受影响
“2022科学跨年系列活动”启动 提高公众对科学类流言“免疫力”
X 关闭
佛山挂牌出让南海区大沥镇一宗住宅用地 起始价25.15亿
天天快资讯丨欧股主要指数普遍收跌
环球要闻:橡胶夜盘大涨,或因减产传闻;生猪期货主力合约重回17000元下方
英方软件: 关于公司2022年度利润分配预案的公告
航天员签名墙亮相中国科技馆