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

时间:2017-01-16 12:54:49

标签: python python-3.x scheduling

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

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

  2. 通过安排作业每15分钟运行一次脚本。

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

    请建议....哪一种方法更好?

2 个答案:

答案 0 :(得分:0)

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

如果您正在调试或监控浏览网页等软件,或者您总是在修改脚本,那么第一种方法就是好的。必要时你可以轻松杀死它。直觉我喜欢这个,因为15分钟很短,所以我想你不会长期运行它。

如果您正在制作“定期备份”或记录或检查某些内容的方案,第二种方法更好,因为您在设置后无需管理它。

答案 1 :(得分:0)

我认为Linux上的cron调度系统(不了解Windows,但我希望在那里有类似的情况)是可行的方法,因为它有很多优点:

  • 你可以信赖它,它是一个健壮而成熟的系统
  • 每次都会启动一个新进程,从而节省资源并保护系统免受长时间运行程序中可能的内存或文件描述符泄漏的影响
  • 它邮寄输出并报告崩溃给所有者
  • 您不必将流程置于后台

缺点:

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