2009-12-14 54 views
1

在Python中如何實現一個線程在後臺運行(可能是模塊加載時),並在週一至週五上午10點到下午3點每分鐘調用一次該函數。例如,該功能應被稱爲:如何在python中實現時間事件調度器?

10:01 AM 10:02 AM 10:03 AM 。 。 2:59 PM

任何指針?

環境:Django的

感謝

回答

4

Django是一個服務器應用程序,只反應外部事件。

您應該使用調度程序如cron來創建調用您的django應用程序的事件,調用管理子命令或在某個特殊頁面上執行HTTP請求。

+1

GAE通過任務隊列(實驗性)和Cron鉤子執行此操作 – 2009-12-14 18:18:22

-1

注意確保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 

未測試,所以先把它旋轉一下。

-1

這是一篇關於在谷歌代碼中計劃cron任務的文章。

Scheduling Tasks with Cron

+1

您是否可以在Web環境中使用GTK? – 2009-12-14 18:21:29

2

threading.Timer類是方便做這樣的任務。但是你必須自己計算間隔。