2016-11-06 80 views
0

我有我渴望每天一次运行一个脚本,现在我可以用简单time.sleep(60*60*24)实现这一 ,然后使用nohup python ...CPU的限制,每天一次

现在,我不知道,是什么限制时间.sleep函数会对CPU有用吗?

其他方法会使用cron作业吗?

回答

0

Cron是一个更好的解决方案,因为它负责启动和停止脚本。你的另一种选择是让你的脚本每天24小时工作,加上一些机制来重新启动它,如果它锁定并在重新启动时启动等。

Cron更简单,更可靠。

+0

嗨尝试crobtab办法'00 00 * * * /库/框架s/Python.framework/Versions/2.7/bin/python/Users/xx/xx/python/db.py'但是由于某些原因,它没有做任何事情 –

+0

@ADFriend ...而你把睡了?你怎么知道它没有做任何事情......它可能在更严格的cron环境中遇到了错误。你应该能够'grep CRON/var/log/syslog'(但有时cron位于/ var/log下的另一个文件中,因此你必须搜索)。你也可以做'00 00 * * * /Library/Frameworks/Python.framework/Versions/2.7/bin/python/Users/xx/xx/python/db.py >>/var/log/db.py.log 2>&1'来查看您是否收到错误。如果你在用户cron而不是系统cron中执行它会有点不同。 – tdelaney

+0

@tdelaney它实际上在我的服务器上工作,这是Linux机器..它不在本地工作在我的mac虽然..但再次本地我只是测试corntab ..重要的是服务器。 –

1

“睡眠”对CPU没有影响。

但是cron作业是有很多原因一个更好的办法:

  • 如果你的计算机重新启动,您不必重新启动脚本手动
  • 寿命长的过程将更有可能达到一个边界情况使其崩溃(如内存泄漏)
  • 睡觉时,过程仍然消耗资源,尤其是内存,而且文件描述符