Python 实现定时任务的八种方案!
在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond [1] 结合命令行实现。另外一种方式是直接使用 Python。接下里整理的是常见的 Python 定时任务的实现方式。 位于 time 模块中的 sleep(secs) 函数,可以实现令当前执行的线程暂停 secs 秒后再继续执行。所谓暂停,即令当前线程进入阻塞状态,当达到 sleep() 函数规定的时间后,再由阻塞状态转为就绪状态,等待 CPU 调度。 基于这样的特性我们可以通过 while 死循环+sleep() 的方式实现简单的定时任务。 代码示例: 主要缺点: 只能设定间隔,不能指定具体的时间,比如每天早上 8:00 sleep 是一个阻塞函数,也就是说 sleep 这一段时间,程序什么也不能操作。 Timeloop [2] 是一个库,可用于运行多周期任务。这是一个简单的库,它使用 decorator 模式在线程中运行标记函数。 示例代码: import time from timeloop import Timeloop from datetime import timedelta tl =
https://mp.weixin.qq.com/s/R711eavHKBbvPlZXtUZ8Dg