定时任务

轻量定时任务调度库:

1、threading.Timer

2、schedule


一、threading.Timer

python自带,无需安装

# encoding: UTF-8

import threading

#Timer(定时器)是Thread的派生类,

#用于在指定时间后调用一个方法。

def func():

     print'hello timer!'

    timer =threading.Timer(5, func)

    timer.start()

func()

注意:用这个方法要避免python默认最大递归深度为1000的问题

            import sys    sys.setrecursionlimit(1000000)  可修改最大递归深度

二、schedule

第三方库,需要额外安装,pip install schedule

import scheduleimport time

def job():

    print("I'm working...")

    schedule.every(10).minutes.do(job)

    schedule.every().hour.do(job)

    schedule.every().day.at("10:30").do(job)

    schedule.every(5).to(10).days.do(job)

    schedule.every().monday.do(job)

    schedule.every().wednesday.at("13:15").do(job)

while True:

     schedule.run_pending()

    time.sleep(1)

注意:

1、time.sleep(1),这句话的作用是:释放资源。如果没有这句话,就会造成大量的cpu占用

2、任务调度是按顺序执行的,所以上一个任务可能会影响到下一个任务,可以改用多线程的方式:   https://blog.csdn.net/kamendula/article/details/51452352

你可能感兴趣的:(定时任务)