Python实现定时任务的两种方式,

7 篇文章 1 订阅
2 篇文章 0 订阅

写脚本的时候碰到一个问题,就是需要定时去执行任务,最开始使用Timer方法

def fun():
    print 1
    t = threading.Timer(60*10, load_stat)
    t.start()

if __name__ == '__main__':
    fun()

就是这样的定时任务,但是它会不停的去创建线程,cpu的资源消耗的太多,而且Python中没有体重线程停止的方法,最后重新找了一种是使用Python的轻量级定时任务调度库schedule,去实现,这样就是单独去开一个线程去执行任务,任务只在这个线程中执行,并不会去重开线程

def job1():
    print 1

def job2():
    print 2


if __name__ == '__main__':  
  
    schedule.every(5).seconds.do(job1)
    schedule.every(5).seconds.do(job2)
    while True:
        schedule.run_pending()
        time.sleep(1)
在while True死循环中,schedule.run_pending()是保持schedule一直运行,去查询上面那一堆的任务,在任务中,就可以设置不同的时间去运行

任务的顺序就是从上往下一次执行,所以每次执行的时间会有延迟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裸睡的雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值