当前位置: 华文世界 > 科技

定期自动执行脚本,让你的金融数据库及时更新!

2024-10-06科技

上一节课我们配置好了我们的运行环境,今天我来教大家怎么在不同的环境下配置定时任务,从而自动执行脚本以更新数据库。

一、Windows下定时执行脚本

如果你的电脑是Windows,并且你没有一台支持Docker的NAS、也没有一台Linux服务器,那么你可以考虑使用Windows自带的工具「任务计划程序」。

1. 显示扩展名

首先我们把文件的扩展名显示出来,这样才方便我们调整脚本的文件类型。

打开文件管理器,在右上角点击这三个点。

然后点击选项。

然后按照这个顺序,取消勾选「隐藏已知文件类型的扩展名」。然后点击确定即可。

2. 创建测试脚本

接下来我们在本地(比如桌面)新建一个文本文档,并且改名为「test.bat」,这里脚本名称中的test之后可以根据脚本的实际作用灵活调整。扩展名为bat的文件是Windows下可以执行的批处理程序。

然后我们用文本编辑器打开它,比如老Q用的是VS Code,但实际上记事本也是没问题的。里边要输入的内容非常简单,这里需要指向一个Python脚本,你可以根据实际情况调整脚本路径。

然后我们创建一个文本文档并且改名为test.py,里边写一个简单的内容用于测试。如下图,这里只是让脚本打印一句话到屏幕。

好了,我们一共创建了两个脚本文件,一个是test.bat,它的作用是用来执行我们的Python脚本;另一个是test.py,这就是我们需要让电脑执行的Python脚本。

3. 配置定时任务

我们在开始菜单中搜索「任务计划程序」,点击打开。

先单机下任务计划程序库,然后点击右边创建基本任务。

起一个响当当的任务名字,点击下一页。

配置执行周期,比如我们希望每天更新数据,那就选择每天。然后点击下一页。

设置第一次任务执行的时间,以及每间隔几天执行一次。然后点击下一页。

这一步看似有的选,实则没得选,毕竟另外两个都弃用了。

选择刚才我们创建好的test.bat脚本,这个脚本没有额外的参数,所以别的留空即可。

点击完成即可,之后每天的这个时间,只要你的电脑是开机状态,就会执行这个脚本。

到了时间以后,电脑会自动弹出一个窗口,这里的确把我们的脚本成功执行了,打印了这么一句话到窗口。

二、Linux/Mac/Nas下定时执行脚本

这里强烈建议大家通过Docker安装一个青龙面板。

我们在前几节课讲在服务器中一键部署MySQL时用到了1Panel这个工具,事实上,它还支持一键安装很多好用的其他工具。

我们点击打开1Panel的地址,点击左侧的应用商店,搜索青龙,并点击安装。

填一个不冲突的端口即可,如果需要外网访问,可以勾选一下,点击确认直接安装。

然后我们通过服务器IP或者NAS的IP加上上边的域名在浏览器中打开青龙面板,配置完成后长下边这个样子。

我们可以先创建一个脚本,比如就叫test.py,内容可以还用刚才的那一行。

点击保存。

然后我们按如下顺序点击创建任务,填好任务名称和脚本路径,然后在定时规则中按crontab格式输入定时信息,点击确定即可。

常规crontab语法包含五个部分,用空格隔开,分别对应了分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)和星期(0-7,0或7代表周日)。

星号代表不做指定,在该周期下每次都执行。以图中的示例来说明,第1个部分填0,代表每个小时的第0分钟开始执行,第2个部分填2,代表每天的2点执行,第3~5个部分都填「*」,代表每天、每月、一周的每一天都要执行。

如果我们填了"0 2 * 1 1,2,3,4,5",那代表只在1月份的周一到周五的凌晨2点0分执行,其他时间不执行。

创建好任务以后,它就会按照我们的要求定期执行了,我们可以从日志管理中找到历史执行日志,方便查看任务执行的情况。

当然,在定时任务这里,我们也可以手动立即执行某个脚本,或者直接查看最近一次执行的日志。

有一个事情需要注意,那就是如果脚本中有一些我们用到的库在青龙默认的环境中没有提供,那么我们就需要在依赖管理中把它添加好。这里也支持通过换行符添加多个依赖库,在下图中自动拆分那里选择是即可。

好了,定时任务就讲到这里,还有不明白的可以留言或者私信老Q。

接下来,我们就要开始正式搞数据了!把我们未来会经常用到的数据,统统搞里头!关注老Q,教你从零开始搞量化!