• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:sched-模块中巨好用的轻量级定时任务神器scheduler

python 搞代码 3年前 (2022-02-20) 54次浏览 已收录 0个评论

Python 提供有一个弱小的、可用来定义执行任务调度的 sched 模块,该模块中含有一个 scheduler 类,可用来执行更简单的任务调度。

【浏览全文】

这种定时调度工作的实现还是比较简单的,总体来说只须要编写好定时工作最好应用规范范式来使得工作运行起来。

首先,须要导入三个模块的扩大库。次要是为了两个方面,一个是为了记录时间或者日期筹备的,另一个则是为了执行编写好的工作。

import sched # 定时工作模块
import time # 工夫模块
from datetime import datetime # 日期工夫模块

接下来次要看一下执行定时工作的函数,就是通过这个函数最初将定时工作能够调度起来执行的,看一下这个调度函数的组成部分。

'''
初始化scheduler类对象
time.time 能够返回工夫戳的函数
time.sleep 实现运行阻塞期待
用time模块的这两个函数来实例化scheduler对象
'''
schedule = sched.scheduler(time.time, time.sleep)

第一个参数是一个能够返回工夫戳的函数,第二个参数能够在定时未达到之前阻塞。

编写一个工作用于执行。

def work(cycle):
    '''
    定义须要执行的工作工作
    :param cycle: 工夫周期,单位:秒
    :return:
    '''
    print('以后执行工夫:',datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    # 将工作函数加到定时工作中
    schedule.enter(cycle, 0, work, (cycle,))
    print('工作执行状态:', 'success')

函数介绍:enter四个参数别离为:距离事件、优先级(用于同工夫达到的两个事件同时执行时定序)、被调用触发的函数。

最初,编写调起上述工作的触发函数,通过触发下面曾经写好的定时工作来实现定时工作的执行。

def exec_work(cycle=10):
    # 增加触发函数
    schedule.enter(0, 0, work, (cycle,))
    # 启动工作
    schedule.run()

再通过main的函数入口执行exec_work函数,这样一个定时工作的调度就算实现了。

if __name__ == '__main__':
    exec_work(1)

【往期精彩】

● 不必再应用命令行打包成exe,有人写出了UI利用,可视化UI界面对python程序进行打包的办法!

● 发现一个机密:既python3.6之后字典居然变成了有序汇合,我再次验证了一下!

● 大厂校招白菜打包价40W+,可快乐坏了房东大妈…

● 这么多的内置函数能记住吗?对python的68个内置函数分类总结!

● 必须要会的文件操作对象File,python文件读写操作利器!

● 你不晓得的CS模式的过程管理工具,状态监测、我的项目启停高深莫测!

● 如何将一个python利用以docker镜像的形式来运行?

● python-celery专一于实现分布式异步工作解决、任务调度的插件!

● python近程服务操作工具:fabric,近程命令、本地命令、服务器操作利器!

● python超赞插件you-get,执行一行命令即可下载、命令行下载工具举荐!

● 办公自动化:Python-win32com主动将word文档转换成pdf格局!

● Git LFS 3.0.0 公布,对大文件进行版本控制的 Git 扩大


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:sched-模块中巨好用的轻量级定时任务神器scheduler

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址