Pythpn实现多脚本处理定时运行

简介: Pythpn实现多脚本处理定时运行

前言


管理多脚本,要实现大量统计计算以及大量脚本进行统计,定时运行并反馈结果是很多大数据项目场景中十分常见的,就该问题本篇文章提供思路方法以及部分代码。


一、创建时间


首先可以通过python自带的datetime库获取本地时间,对于Pythpn时间序列想要更深入的了解可以参阅:一文速学-Pandas处理时间序列数据操作详解


python3是自带datetime库的,他有自身代表时间的数据类型datetime。由此我们可以根据datetime数据结构进行运算,运用逻辑可以达到一定的时间控制。但首先我们需要拥有关于datetime数据类型的知识,好让我们创建我们想要的日期。


创建datetime很简单:

from datetime import datetime as dt
dt=dt(2022,5,23)


这就创建了一个2022年5月23日的datetime数据类型。

aa38bdaaacd0427facfb7f3aef66e405.png

若想要转换为我们熟知的日期格式,我们可以使用strftime函数自定义格式,这里给出strftime函数的用法:

e80b94c6520d4d59958eef7d970570a6.png

dt.strftime('%m/%d/%Y %H:%M:%S')

c72848f7962144509656dbb6cd210d36.png


二、设定时间


首先我们可以设定起始任务时间,假设我们的脚本自动在早上2点到6点运行一次,并且获取当天日期作为初始的开始执行日期:

creatTime=datetime.time(2,0,0)
closeTime=datetime.time(6,0,0)
startDate=datetime.datetime.now()

我们需要获取当前时间和日期:

#获取当前时间
currentTime=datetime.now().time
#获取当前日期
currentTime=darerime.now().date

然后我们只要规定每当本地时间在2点到6点这个范围,我们就执行脚本:

if(startDate<=currentDate)and(creatTime<=currentTime<=closeTime):
        #执行以下python脚本
        print('---------')
        print('执行成功')


然后我们需要修改开始日期,让其+1天能够保持每天持续更新,这里使用到了时间推移函数:


timedelta类表示为时间差,可直接实例化也可以由两个datetime进行相减操作得到。


可表示的时间差依次为:


days,seconds,microseconds,minutes,hours,weeks

fe7567f9c12341c984320f7706837af6.png

startDate=(datetime.datetime.now()+datetime.timedelta(days=1))


总代码如下:

from datetime import datetime as dt
import time
creatTime=datetime.time(2,0,0)
closeTime=datetime.time(6,0,0)
startDate=datetime.datetime.now()
while True:
    #获取当前时间
    currentTime=datetime.datetime.now().time
    #获取当前日期
    currentDate=datetime.datetime.now().date
    if(startDate<=currentDate)and(creatTime<=currentTime<=closeTime):
        #执行以下python脚本
        print('---------')
        print('执行成功')
        #成功以后执行日期改为下一天
        startDate=(datetime.datetime.now()+datetime.timedelta(days=1))


目录
相关文章
|
8月前
|
Python
【python脚本】执行过程中触发若干次就停止执行脚本的方式
【python脚本】执行过程中触发若干次就停止执行脚本的方式
|
22天前
cmd下定时运行的命令
cmd下定时运行的命令
|
22天前
|
监控 Unix Shell
shell定时检查
shell定时检查
46 1
|
7月前
|
缓存
puppteer长时间运行定时清理缓存脚本
puppteer长时间运行定时清理缓存脚本
|
12月前
|
Java Linux
如何编写一个自动关闭某个进程的脚本,并使用cron定时执行?
如何编写一个自动关闭某个进程的脚本,并使用cron定时执行?
218 0
|
12月前
|
Linux Shell
定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现?
定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现?
|
Linux 开发工具 Windows
如何使用crontab 定期执行脚本?
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情 大家好,我是阿萨。最近用到了一个Linux命令crontab。用它来定时运行linux的任务。这个有点类似windows里的定时任务。今天主要记录下我用到的它的用法。
117 0
crontab设置定时任务脚本文件每秒运行一次,每个月最后一天的21点到22点 每20分钟(1200秒)执行一次
crontab设置定时任务脚本文件每秒运行一次,每个月最后一天的21点到22点 每20分钟(1200秒)执行一次
1113 0
|
监控 Shell 应用服务中间件
使用crontab配合shell脚本定时检测拉起服务
使用crontab配合shell脚本定时检测拉起服务
209 0
|
Android开发
为什么脚本不停止运行?
牙叔教程 简单易懂
268 0

热门文章

最新文章