Windows定时任务 每隔一段时间(最小到秒级)执行一次指定的Python脚本

计算机 同时被 3 个专栏收录
3 篇文章 0 订阅
24 篇文章 1 订阅
9 篇文章 0 订阅

首先是创建一个Windows定时任务,并且设置它每天执行一次指定的Python脚本

参考以下两篇博客进行:
Window系统创建定时任务 定时执行任务
Windows定时任务 执行python脚本文件 *.py

分钟、小时级任务

关于创建Windows定时任务执行python脚本,上面两篇博客的作者已经写得非常清楚了,如果我有一个需求是让该定时任务每隔5分钟执行一次,于是我在上面两篇博客的基础上进行了如下设置:

1、首先打开我们创建好的任务计划,比如我创建了一个任务计划叫做"ExecutePythonScript"
如果不小心关掉了任务计划,可以在这里面重新打开:在控制面板 -> 管理工具(查看方式设置为小图标) -> 任务计划程序 -> 任务计划程序库 -> 自己的任务计划
在这里插入图片描述2、双击任务计划"ExecutePythonScript",打开属性面板,然后点击"触发器"选项卡,再点击"编辑"
在这里插入图片描述
3、在"编辑触发器"窗口内勾上"高级设置"中的"重复任务间隔",并设置间隔时间和持续时间
如下图

我的"间隔时间"设置为5分钟,间隔时间可以点进去自由编辑,比如写个1分钟,2分钟

"持续时间"为1天,因为我设置任务计划是每天执行一次,所以间隔时间的持续时间就只有持续1天就够了
在这里插入图片描述这样设置完以后,我的任务计划就会每天在00:05分开始执行,并且每隔5分钟再次执行一遍,也就是一小时执行12次我指定的py脚本,一天执行144次。只要任务计划不停止,那么每隔5分钟我指定的py脚本就会执行一次。

秒级任务

上面的任务计划设置是以分钟为单位的,如何以秒为单位进行任务计划呢,比如每30秒执行一次任务,应该怎么办呢?

其实很简单,我们通过设置多个触发器就可以搞定,例如先设置一个触发器,从每天的00:05:00开始每1分钟执行一次,再设置一个触发器从每天的00:05:30开始每1分钟执行一次就可以了
在这里插入图片描述

相关推荐
网关程序:主要目是作了一个中间程序转发网络消息,其实在网上有很多这样程序,<br>比如跨平台ACE,目前版本为5.6,如果从ACE开始学习网关,个人觉得挺费劲,<br>我也曾经想用ACE编写网关程序,后来由于ACE复杂性,还是胆怯了,还是自己下定决<br>心写了一个网关程序。<br>该网关程序目前只支持Windows,下一步目标准备将程序移植GCC环境下。<br>程序中用STLstd::map和std::list,也大量运行了模板类,如:关于线程参数<br>ARGS即为模板类:template <class T> ARGS{}、还有一个就是SOCKET结构体:<br>HOSTSTRUCTSTRCT定义也是用了模板类。<br><br>程序主要部份为:class CFramework 文件:framework.h framework.cpp,<br>如果想编写一个网关程序,首先需要从该类继承,如目前例程中:class CMyGateway;<br><br>大家都知道网关程序即SOCKET通讯多线程程序,其中当然用SOCKET;网关中有SOCKET服务端,<br>也有SOCKET客户端;作为SOCKET服务端时,需要接收远程主机连接,当远程主机请求连接,<br>根据业务需要首先要验证该客户端是否是合法客户,此时,需要从系统允许访问队列表<br>查询是否有该主机信息,如果有该主机信息,则允许该主机连接,此时触发OnConnected事件,<br>在该事件中,可以接收客户端登录信息,验证客户端登录信息,如果验证成功,<br>则将该主机信息添加系统路由表中,当有消息需要转发该主机时,从系统路由表取目标<br>主机信息,通过host.fd发送消息;同理,网关作为一个客户端时,需要连接其它远程服务器,<br>一旦连接上后,触发OnConnected事件,在该事件中,我们可以发送登录信息,并接收应答信息,<br>解析应答信息,判断我们登录是否成功,如果成功话,将连接主机信息添加系统路由表<br>中,当有其它信息需要转发该主机时,从系统路由表中取连接信息通过send() host.fd转发信息。<br><br>在class CFramework中还有一定非常重要函数:OnExecuteMessagte(const xuwn::MESSAGE& message)方法,<br>这个方法是在从消息队列取消息后执行,xuwn::MESSAGE中定义了一个buffer即收消息,<br>同时消息长度为:message.size.nhead+message.size.nbody,您可以处理消息,在模拟程序中,<br>我将消息转发另外一个服务器即:B_HOST,HOSTSTRUCT有个字段name即我称之为节点名称,<br>该名称是我作为索引用,在系统路由中只能存在这样一个KEY值HOSTSTRUCT;<br><br>在class CFramework中还有一个重要函数:OnRecvData(const HOSTSTRCT& host__, xuwn::MESSAGE& message),<br>这个方法是由我们执行如何接收消息,因为大多数时候我们定义消息都为变长,即消息存在消息头+消息体,<br>大多时候,消息头为定长,消息体长度在消息头中体现,当我们接收完消息头后,设置后继包(消息体)长度,<br>再调用CFramework::OnRecvData(host__, message)去接收消息体,并把消息写入消息队列中。
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值