文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python命令行定时任务自动化工作流程

2023-05-17 17:05

关注

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

参数说明:

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命令行定时任务内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯