定时任务
本文介绍几种简单的执行定时任务的方法,包含两种可以重复运行定时任务的方法以及两种只能定时运行一次任务的方法
死循环 + time.sleep() (定时多次运行)
第一种办法简单粗暴。那就是在一个死循环中,使用线程睡眠函数 sleep()。
import time
def dosomething(s):
print(s)
def timedTask():
while True:
dosomething('run')
time.sleep(10)
if __name__ == '__main__':
timedTask()
print('main') # 这行代码永远不会被运行
这种方法能够执行固定间隔时间的任务。但是由于程序是单线程并且是死循环,因此是阻隔线程, timedTask() 一直占有 CPU 资源,导致后续操作无法执行。不建议使用
使用 apscheduler 库添加调度任务(定时多次运行)
此方法需要先安装 APScheduler 库,这里只讨论定时调度任务,关于APScheduler的更多讲解请参考这篇文章
运行调度任务需要以下三个步骤