2013-10-21 37 views
-1

有人可以爲我制定並解釋調度程序,它每60秒運行一次嗎?每60秒計劃一次運行功能?

sql = "SELECT * FROM economy" 
cursor.execute(sql) 
brojredova = cursor.rowcount 
for i in range(1, brojredova): 
sql2 = "UPDATE economy SET LoanTime= LoanTime - 1 WHERE ID = '%d' AND Loan > 0" % (i) 
cursor.execute(sql2) 

謝謝! :)

+0

到目前爲止您嘗試過什麼,以及您嘗試過的任何問題? – admdrew

+0

@admdrew我還沒有試過,因爲我不知道它是如何工作的,如何將它設置爲每60秒工作...這就是爲什麼我要求解釋... –

+0

好的。你到目前爲止做過什麼樣的互聯網研究? – admdrew

回答

0

調度可以通過多種方式完成,包括使用系統的本地調度程序並讓它每60秒調用一次程序。最簡單的解決方案是把你的東西放在while循環中,並使用time.sleep:

import time 

while True: 
    start = time.time() 
    do_your_work_here() 
    timeout = time.time() - start - 60. 
    if timeout > 0.: 
     time.sleep(timeout) 
+0

好吧,但據我所知,這停止整個文件,而不僅僅是該功能?我有其他需要獨立的功能,並且沒有定時器... –

+0

這是一個新的而且相當複雜的要求!代碼看起來像它可以獨立運行,這使得它成爲一個很好的候選者,可以在單獨的線程中運行,也可以完全作爲單獨的進程運行。但這遠遠超出了問題的範圍。你需要做一些設計工作。 – tdelaney