在Python中如何實現一個線程在後臺運行(可能是模塊加載時),並在週一至週五上午10點到下午3點每分鐘調用一次該函數。例如,該功能應被稱爲:如何在python中實現時間事件調度器?
10:01 AM 10:02 AM 10:03 AM 。 。 2:59 PM
任何指針?
環境:Django的
感謝
在Python中如何實現一個線程在後臺運行(可能是模塊加載時),並在週一至週五上午10點到下午3點每分鐘調用一次該函數。例如,該功能應被稱爲:如何在python中實現時間事件調度器?
10:01 AM 10:02 AM 10:03 AM 。 。 2:59 PM
任何指針?
環境:Django的
感謝
Django是一個服務器應用程序,只反應外部事件。
您應該使用調度程序如cron來創建調用您的django應用程序的事件,調用管理子命令或在某個特殊頁面上執行HTTP請求。
注意確保Django是如何影響線程(除非你使用的App Engine,你不能做低級別這樣),但一旦你的線程運行時可以連續查詢時間戳:
from datetime import time
from datetime import date
time_delta = 60
while True:
end_time = time.time() + time_delta
while time.time() < end_time:
time.sleep(1)
if date.today().weekday() in range(1,5):
#do something baby
未測試,所以先把它旋轉一下。
的threading.Timer
類是方便做這樣的任務。但是你必須自己計算間隔。
GAE通過任務隊列(實驗性)和Cron鉤子執行此操作 – 2009-12-14 18:18:22