• 【实测】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'))

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

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

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

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

  • 相关阅读:
    Vue中动态Class实战
    移动端echarts图表的自适应使用
    前端三剑客 HTML+CSS+JavaScript ② HTML相关概念
    软件测试进阶篇----自动化测试概述
    包装流的使用练习
    视频删除怎么恢复找回,刚删除的视频怎么找回来
    LeetCode 2558. 从数量最多的堆取走礼物
    3D视觉系统实现自动化上下料操作
    Win10一键重装系统后计算机图标怎么调出来
    新手投资如何分配股票仓位?诺奖得主的秘诀是什么?| 附代码【邢不行】
  • 原文地址:https://blog.csdn.net/qq_22795513/article/details/126513989