【实测】python模拟jenkins的定时设置时间库: 【 python_jenkins_monitor 】

简介: 【实测】python模拟jenkins的定时设置时间库: 【 python_jenkins_monitor 】

最近正在做一款测试平台,然后涉及到了定时任务,虽然我做了很多定时设计,比如间隔几分钟运行,每天的几点几分运行等等。


但是还是有不少小伙伴希望可以直接套用jenkins的时间定时设计,那个设计特别直观,也特别灵活。


甚至可以设置到 :工作日的每天下午3-6点的每小时的第5分钟执行这种...


不得不说,你们的需求是真变态啊。


jenkins的时间设置其实很通俗易懂,这里如果小伙伴不能记住的话,恐怕要被人笑的:


总结来说,简单的用法就是  五个字符串 (用空格隔开)。


minute:表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。


上述的每个字符串都可以直接使用下列的具体表达式:


星号(*):代表所有可能的值

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。


这样看来,文章开头的那个需求(工作日每天下午3-6点的每小时的第5分钟执行)就可以写成:


5 15-18 * * 1-5


这样我觉得都会写,但是如果我们要用python实现,解析出来,这个设置的下一次执行的具体时间,恐怕就很难办到了。


于是乎,给大家推荐一个第三方库:


python_jenkins_monitor


下载方式:pip install python_jenkins_monitor


导入方法:

from python_jenkins_monitor.python_jenkins_monitor import get_next_time


调用时需要传入设置字符串:

print(get_next_time('5 15-18 * * 1-5'))


结果展示:(注意,回来的是一个时间戳)

640.png


这个时间戳也就是下一次要执行的具体时间了,小伙伴可以手动给这个时间戳还原成可查看的格式:time.strftime('格式',time.localtime(时间戳))

640.png


结果如下:当前时间 8-24 22:21  所以下一次满足的最早时间是25号的15:05

640.png


怎么样,是不是非常简单呢?

640.png


欢迎关注:测试开发干货

进群加v: qingwanjianhua

相关文章
|
2天前
|
API 调度 开发者
Python中的并发编程:使用asyncio库实现异步IO
传统的Python编程模式中,使用多线程或多进程实现并发操作可能存在性能瓶颈和复杂性问题。而随着Python 3.5引入的asyncio库,开发者可以利用异步IO来更高效地处理并发任务。本文将介绍如何利用asyncio库实现异步IO,提升Python程序的并发性能。
|
2天前
|
JSON Shell 数据格式
第十章 Python常用标准库使用(必会)
第十章 Python常用标准库使用(必会)
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
3天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
9 3
Python
20 0
|
3天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
21 0
|
4天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,提供DataFrame数据结构。基本步骤包括导入库、创建DataFrame及进行数据筛选。示例代码展示了如何通过布尔索引、`query()`和`loc[]`方法筛选`Age`大于19的记录。
10 0
|
5天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
14 2
|
5天前
|
算法 Python
请解释Python中的关联规则挖掘以及如何使用Sklearn库实现它。
使用Python的mlxtend库,可以通过Apriori算法进行关联规则挖掘。首先导入TransactionEncoder和apriori等模块,然后准备数据集(如购买行为列表)。对数据集编码并转换后,应用Apriori算法找到频繁项集(设置最小支持度)。最后,生成关联规则并计算置信度(设定最小置信度阈值)。通过调整这些参数可以优化结果。
25 9