2017-01-16 40 views
0

我有一個小腳本,我想每15分鐘後運行一次。我可以通過兩種方式實現它:time.sleep()或調度腳本。哪一個更好?

  1. 通過把整個代碼在while循環while True:和結束time.sleep(900)

  2. 通過計劃作業每隔15分鐘運行腳本一次。

兩者都能正常工作,但我不確定腳本在睡眠時是否使資源忙碌。

請建議....哪一個更好?

+0

第二個選項,你的意思是'cron'工作? –

+0

使用第二個。 – Maroun

+0

無人正在等待。如果你有一些調度系統使用它。否則,「睡眠」沒事吧 –

回答

0

我認爲像cron在Linux上調度系統(不知道Windows,但我woud希望有類似的情況)是要走的,因爲它的許多優點的方式:

  • 可以依靠它是一個強大和成熟的系統,它每次都會啓動一個新的進程,從而節省資源並保護系統免受長時間運行的程序中可能的內存或文件描述符泄漏的影響
  • 它通過輸出和報告碰撞車主
  • 你沒有把你的過程爲背景

缺點:

  • ,如果你需要記住運行之間的狀態,你必須將它保存到一個文件
0

調度更穩定,python腳本更靈活。

如果您正在調試或監控瀏覽網頁等軟件,或者您總是修改腳本,第一種方法是好的。必要時可以輕鬆殺死它。直覺上我喜歡這個,因爲15分鐘很短,所以我猜你不會長期運行它。

如果您正在製作一個類似「定期備份」或記錄或檢查內容的環境,第二種方式更好,因爲您設置後無需管理它。

+0

對於像定期備份等任務,我想第二個是更可取的。 –

+0

@SourabhSaini是的,「口誤」。這應該是第二種方式,我會糾正它。 – Zealseeker