python定时任务sched库用法简单实例

 更新时间:2023年01月11日 10:54:03   作者:IT之一小佬  
sched可用于定时任务,唯一需要注意的就是,这些任务在一个线程中运行,如果前面的任务耗时过长,则后面的任务将顺延执行,下面这篇文章主要给大家介绍了关于python定时任务sched库用法的相关资料,需要的朋友可以参考下

前言

sched是Python的内置模块,用于事件调度,可在安全的在多线程环境中轻松实现定时任务。

sched是一种调度(延时处理机制)。

sched是python内置库,不需要安装。

示例代码:

import sched
import time
from datetime import datetime
 
# 初始化sched模块的scheduler类
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
schedule = sched.scheduler(time.time, time.sleep)
 
def task(inc):
    now = datetime.now()
    ts = now.strftime("%Y-%m-%d %H:%M:%S")
    print(ts)
    schedule.enter(inc, 0, task, (inc,))
 
def func(inc=3):
    # enter四个参数分别为:
    # 间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数、给该触发函数的参数(tuple形式)
    schedule.enter(0, 0, task, (inc,))
    schedule.run()
 
func()

运行结果:

补充:解析

主要使用调度器对象 sched.scheduler

调度器对象初始化方法 def __init__(self, timefunc=_time, delayfunc=time.sleep)

  • timefunc:经过时间调用的方法,默认为 time.monotonic(),返回单调时钟的值,单位为小数秒
  • delayfunc:延迟时间调用的方法,默认为 time.sleep(secs),线程暂停执行secs秒

调度器对象方法和属性有:

方法或属性功能
scheduler.enterabs(time, priority, action, argument=(), kwargs={})安排一个新事件
scheduler.enter(delay, priority, action, argument=(), kwargs={})安排延后 delay 时间单位的事件
scheduler.cancel(event)从队列中删除事件
scheduler.empty()判断事件队列是否为空
scheduler.run(blocking=True)运行所有预定事件
scheduler.queue按运行顺序返回事件列表

总结 

到此这篇关于python定时任务sched库用法的文章就介绍到这了,更多相关python定时任务sched库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 获取网页编码方式实现代码

    python 获取网页编码方式实现代码

    这篇文章主要介绍了python 获取网页编码方式实现代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • 手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤

    手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤

    这篇文章主要介绍了如何用Pycharm2020.1.1配置远程连接,分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-08-08
  • 你需要掌握的20个Python常用技巧

    你需要掌握的20个Python常用技巧

    Python的可读性和简单性是其广受欢迎的两大原因,本文介绍20个常用的Python技巧来提高代码的可读性,并能帮助你节省大量时间,需要的可以参考一下
    2022-02-02
  • 使用IPython来操作Docker容器的入门指引

    使用IPython来操作Docker容器的入门指引

    这篇文章主要介绍了使用IPython来操作Docker容器的方法,包括一些基本的搭建和连接,主要依靠docker-py模块,需要的朋友可以参考下
    2015-04-04
  • Python发送email的3种方法

    Python发送email的3种方法

    这篇文章主要介绍了Python发送email的3种方法,本文讲解了使用登录邮件服务器方法、调用sendmail命令、使用smtp服务来发送三种方法,需要的朋友可以参考下
    2015-04-04
  • Python第三方库的几种安装方式(小结)

    Python第三方库的几种安装方式(小结)

    这篇文章主要介绍了Python第三方库的几种安装方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python-for x in range的用法(注意要点、细节)

    python-for x in range的用法(注意要点、细节)

    这篇文章主要介绍了python-for x in range的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • DataFrame 将某列数据转为数组的方法

    DataFrame 将某列数据转为数组的方法

    下面小编就为大家分享一篇DataFrame 将某列数据转为数组的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Pycharm学习教程(2) 代码风格

    Pycharm学习教程(2) 代码风格

    这篇文章主要为大家详细介绍了最全的Pycharm学习教程第二篇代码风格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Python 实现简单的电话本功能

    Python 实现简单的电话本功能

    这篇文章主要介绍了Python 实现简单的电话本功能的相关资料,包括添加联系人信息,查找姓名显示联系人,存储联系人到 TXT 文档等内容,十分的细致,有需要的小伙伴可以参考下
    2015-08-08

最新评论