Python脚本如何定时运行

一、背景

很多时候,我们使用Python编写好的各种脚本,会有定时运行的需求,希望脚本能每天在指定的时间点定时运行,比如:定时发送消息、定时发送邮件、定时执行自动化测试脚本等。

定时运行脚本常用的有2种方式,一种是Windows上创建定时任务执行,一种是通过Jenkins来定时执行。接下来我们就逐一讲解如何操作。

二、Windows上创建定时任务执行

1、计算机右键》管理,打开计算机管理页面:

7fd89c0e222a45dcb9a2692cd537683a.png

2、选择“任务计划程序”》“创建基本任务”:

4a4768b10b514096a1afa4ea53b86755.png

3、输入名称,点击下一步:

d62bdb4b25d343778184731ee343cf28.png

4、选择任务触发的周期:

1d215807b04c4bbfbf25e93f149d3f47.png

5、设置任务触发的时间点:

6ba1b5fd73f048aeb15077db02506af6.png

6、设置操作为“启动程序”

24549d068db5452485f45173960006f2.png

7、填写Python信息:

1198ec9390f34ef3931aa6937a80a0f0.png

这里有三个文本框的内容注意填写正确:

程序或脚本:文本框中填的是Python编译器的名称,一般就是python.exe,

添加参数:文本框中填的是你的Python程序的完整路径,例如:D:\software\unittest_demo\test.py

起始于:文本框中填的是Python编译器的目录,例如:D:\software\python\python.exe

8、完成创建,查看信息:

c711943be4fc4ff9b183b0dba97e1b07.png

9、后续在“任务计划程序库”可以看到该定时任务,双击该任务可编辑修改:

ccbfad2388144779bef557b0c96d7de9.png

比如修改任务设置为:不管用户是否登录,都要运行该任务,这样即使电脑锁屏了也不影响脚本的定时运行。

e337c8cca5c349b493dc6e5909eb3d42.png

三、通过Jenkins来定时执行

1、Jenkins上新建一个FreeStyle的任务

3fe9e888be1949b6b6111bbae44dcc5b.png

2、任务的配置页面,构建触发器,设置定时执行任务

22c761b45493476f9bcd8300a6f7fc49.png

cron语法常见的示例已经为大家整理好,可以直接使用:

# 每1分钟
*/1 * * * *
# 每5分钟
H/5 * * * *
# 每30分钟
H/30 * * * *
# 每1小时
H */1 * * *
# 每2小时
H */2 * * *
# 每天早上8点
0 8 * * *
# 每天中午11点30
30 11 * * *
# 每天中午12点
0 12 * * *
# 每天下午18点30
30 18 * * *
# 每天晚上11点45
45 23 * * *
# 每天晚上12点(凌晨0点)
0 0 * * *

3、构建模块,设置运行哪种脚本:

51dde909b0354da0b8b13d94ff7a492d.png

当前任务是在哪个环境的电脑下运行,那就选谁。比如jenkins是本地的环境,本地是windows系统,任务也在jenkins所在的这个机器上执行,所以任务的执行环境其实也是windows。

选择windows命令,输入和Windows CMD下同样的批处理脚本命令:

1fa59db442ed44a785e063f1f726778b.png

如果项目的代码下载到linux或mac电脑上去执行,那么就要选择shell命令:

b0b22cb8299345eabfe0f0c984e7a8ff.png