2016-11-06 91 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作業是有很多原因一個更好的辦法:

  • 如果你的計算機重新啓動,您不必重新啓動腳本手動
  • 壽命長的過程將更有可能達到一個邊界情況使其崩潰(如內存泄漏)
  • 睡覺時,過程仍然消耗資源,尤其是內存,而且文件描述符