Python 定时任务

本文介绍了Python中四种常见的定时任务实现方式:1) 使用time模块的time.sleep()实现简单定时;2) 利用threading模块的Timer进行定时执行;3) 通过sched模块进行调度执行;4) 使用APScheduler定时框架,它提供了更强大的定时任务管理。这些方法适用于不同的场景需求,从基础到高级,为Python开发者提供了丰富的定时任务解决方案。
摘要由CSDN通过智能技术生成

1、sleep

from datetime import datetime
import time

# 每n秒执行一次
def timer(n):
    while True:
        print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
        time.sleep(n)
# 5s
timer(5)

2、threading模块中的Timer

from datetime import datetime
from threading import Timer

# 打印时间函数
def printTime(inc):
    print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    t = Timer(inc, printTime, (inc,))
    t.start()
# 5s
printTime(5)

3、sched模块

import sched
import time
from datetime import datetime

# 初始化sched模块的 scheduler 类,生成调度器
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
schedule = sched.scheduler(time.time, time.sleep)

# 被周期性调度触发的函数
def printTime(inc):
    print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    schedule.enter(inc, 0, printTime, (inc,))

# 默认参数60s
def main(inc=60):
    # enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数,加入调度事件
    # 给该触发函数的参数(tuple形式)
    schedule.enter(0, 0, printTime, (inc,))
    schedule.run()
# 10s 输出一次
main(10)

4、APScheduler定时框架
APScheduler 四个组件分别为:
触发器(trigger)
作业存储(job store)
执行器(executor)
调度器(scheduler)

APScheduler 安装

pip install apscheduler

*
*
*
*
*
*
*
*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值