justcode.ikeepstudying.com
Python: 定时任务的实现方式, Crontab 任务, 定时运行 - Just Code
背景 目前所在的项目组需要经常执行一些定时任务,之前都是用 Node.JS 的 cron来实现 schedule job。可是这次需要连接不同的 DB,而且实现的逻辑也有些许不同,于是选择使用 Python 的定时器。 Python 实现定时任务 循环 sleep 这种方式最简单,在循环里面放入要执行的任务,然后 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) 这个方法的缺点是,只能执行固定间隔时间的任务,如果有定时任务就无法完成,比如早上六点半喊我起床。并且 sleep 是一个阻塞函数,也就是说 sleep 这一段时间,啥都不能做。 threading模块中的Timer threading 模块中的 Timer 是一个非阻塞函数,比 sleep 稍好一点,不过依然无法喊我起床。 from datetime import datetime from …