[英]How to run Python script only during certain hours of the day?
我有一個腳本需要在早上7點到晚上9點之間運行。 該腳本已經無限期地運行,但如果我能夠在上述時間之外暫停它,那么它將最小化它將產生的數據量。
我目前在某些部分使用time.sleep(x)
但time.sleep(36000)
似乎有點傻嗎?
使用Python 2.7
提前致謝!
您應該使用cron作業(如果您正在運行Linux
)。
例如:每天早上7點到9點執行你的python
腳本。
0 7 * * * /bin/execute/this/script.py
現在說你想在上午9點退出該計划。
您可以像這樣實現您的python代碼,以便在2小時后自動終止。
import time
start = time.time()
PERIOD_OF_TIME = 7200 # 120 min
while True :
... do something
if time.time() > start + PERIOD_OF_TIME : break
您應該考慮使用像cron這樣的調度程序。 但是,如果腳本將無限期運行,我認為time.sleep(36000)
是可接受的(或time.sleep(10*60*60)
)。
您可以使用時間函數來檢查它的時間,然后在需要時調用腳本:
import time
import subprocess
process = None
running = False
while True:
if time.daylight and not running:
# Run once during daylight
print 'Running script'
process = subprocess.Popen("Myscript.py")
running = True
elif not time.daylight and running:
# Wait until next day before executing again
print 'Terminating script'
process.kill()
running = False
time.sleep(600) # Wait 10 mins
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.