python定时任务 sched模块用法实例

yipeiwu_com7年前Python基础

这篇文章主要介绍了python定时任务 sched模块用法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

通过sched模块可以实现通过自定义时间,自定义函数,自定义优先级来执行函数。

schedule = sched.scheduler( time.time,time.sleep)

schedule是一个对象,叫什么名字都可以。

schedule.enter(delay,priority,action,arguments)

delay:第一个参数是一个整数或浮点数,代表多少秒后执行这个action任务

priority:第二个参数是优先级,0代表优先级最高,1次之,2次次之,当两个任务是预定在同一个时刻执行时,根据优先级决定谁先执行。

action:第三个参数就是你要执行的任务,可以简单理解成你要执行任务的函数的函数名

arguments:第四个参数是你要传入这个定时执行函数名函数的参数,最好用括号包起来,如果只传入一个参数的时候用括号包起来,该参数后面一定要加一个逗号,如果不打逗号,会出现错误。

例如schedule.enter(delay, priority, action, (argument1,))

run()一直被阻塞,直到所有任务全部执行结束。每个任务在同一线程中运行,所以如果一个任务执行时间大于
其他任务的等待时间,那么其他任务会推迟任务的执行时间,这样保证没有任务丢失,但这些任务的调用时间会比设定的推迟。

代码实例

import time
import sched
import datetime
schedule = sched.scheduler( time.time,time.sleep)
def event_fun1():
  print("func1 Time:", datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
def event_fun2():
  print("func2 Time:", datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
def event_fun3():
  print("func3 Time:", datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

def func1(sec):
  schedule.enter(sec,0,func1,(sec,))
  event_fun1()
def func2(sec):
  schedule.enter(sec, 0, func2, (sec,))
  event_fun2()
def func3(sec):
  schedule.enter(sec, 0, func3, (sec,))
  event_fun3()

print ("start")
while True:
  nt = datetime.datetime.now()
  if nt.second == 0:
    break
  time.sleep(1)

schedule.enter(10,0,func1,(10,))
schedule.enter(30,0,func2,(30,))
schedule.enter(60,0,func3,(60,))
schedule.run()
print("end")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python装饰器的函数式编程详解

Python的装饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,...

Python实现TCP探测目标服务路由轨迹的原理与方法详解

Python实现TCP探测目标服务路由轨迹的原理与方法详解

本文实例讲述了Python实现TCP探测目标服务路由轨迹的原理与方法。分享给大家供大家参考,具体如下: 一 点睛 在此次实践中,通过scapy的traceroute()方法实现探测机到目...

跟老齐学Python之通过Python连接数据库

用Python来编写网站,必须要能够通过python操作数据库,所谓操作数据库,就是通过python实现对数据的连接,以及对记录、字段的各种操作。上一讲提到的那种操作方式,是看官直接通过...

使用Python判断质数(素数)的简单方法讲解

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相...

python实现批量处理将图片粘贴到另一张图片上并保存

pillow真的是一个很强大的图像处理库!!!! 本人利用pillow库实现了将文件夹下的批量照片随机粘贴到另一张图片上,并批量保存到指定文件夹!!! 直接上代码: from PIL...