time.sleep() 或调度脚本。哪种方法更好?

time.sleep() or scheduling script. Which one is better approach?

我有一个小脚本,我想每 15 分钟 运行。我可以通过两种方式实现它:

  1. 通过将整个代码放入 while 循环 while True: 并在结尾 time.sleep(900).

  2. 通过将作业调度到 运行 脚本后每 15 分钟执行一次。

两者都可以正常工作,但我不确定脚本是否让资源在休眠时保持忙碌。

请提出建议....哪种方法更好?

调度更稳定,python脚本更灵活。

如果你正在调试或者监控一个软件,比如浏览网页,或者经常修改脚本,第一种方式比较好。必要时你可以轻松杀死它。直觉上我喜欢这个因为 15 分钟很短所以我猜你不会 运行 它 long-term.

如果您正在制作像 "periodic backup" 这样的日程表或记录或检查某些内容,则第二种方法更好,因为一旦设置就不需要管理它。

我认为像 Linux 上的 cron 这样的调度系统(不知道 Windows,但我希望那里有类似的情况)是可行的方法,因为它的众多优点:

  • 你可以依靠它,它是一个强大而成熟的系统
  • 它每次都会启动一个新进程,从而节省资源并保护系统免受长 运行 程序中可能的内存或文件描述符泄漏的影响
  • 它通过邮件发送输出并向所有者报告崩溃
  • 您不必将进程置于后台

缺点:

  • 如果您需要记住运行之间的状态,则必须将其保存到文件中