【python】python schedule 安装和使用

Python语言 小铁匠 2018-09-28

python schedule 安装和使用

使用pip安装

pip install schedule

使用

import schedule
import time
import datetime

def job():
    now_time = datetime.datetime.now()
    print("begin work...", now_time)
    time.sleep(2)

schedule.every(10).seconds.do(job)	#10秒钟执行
schedule.every(10).minutes.do(job)	#10分钟执行
schedule.every().hour.do(job)	#每小时执行
schedule.every().day.at("10:30").do(job)	#每天的10:30执行
schedule.every(2).to(10).seconds.do(job) #2-10秒随机间隔执行
schedule.every().monday.do(job)	#每周一的当前时间点执行
schedule.every().wednesday.at("13:15").do(job) #每周三的13:15执行


while True:
    schedule.run_pending()
    time.sleep(1)

如果需要传参

schedule.every(10).seconds.do(job, "参数")

注:schedule 定时执行时间会在原方法结束后才开始新一轮的及时,也就是说如果方法体执行需要2秒,定时每10秒执行一次,实际的会是每12秒执行一次。解决方法可以使用多线程。

使用多线程

import time
import datetime
import schedule
import threading

def job_start():
	print(time.time())
	time.sleep(2)
	return True

def job_task():
    threading.Thread(target=job_start).start()
    return True
 
schedule.every(10).seconds.do(job_task)

while True:
    schedule.run_pending()
    time.sleep(1)

注:使用多线程执行定时任务每执行一次就会增加一个线程,长期执行可能会有很大的弊端。如果定时时间小于程序体执行时间更可能会出现问题。

------ 本文结束 感谢阅读 ------
上一篇: Python学习笔记