我正在訪問一個web API,似乎每隔一段時間就會神祕地掛起。現在我正在使用print來做一些簡單的日誌記錄。我不熟悉線程或任何類似的東西,我希望只有一個簡單的方法來檢查自從返回新的打印語句以來已經過了多長時間,並且如果最大時間間隔已經正常退出我的函數到達。感謝您的任何意見。最簡單的方法來定時輸出功能
回答
使用time.time()模塊獲取以秒爲單位的時間;從文檔
「時間() - 秒>浮點數\ n \ nReturn當前時間,以秒 由於時代\ nFractions可以存在,如果系統時鐘 提供他們」
使用它的代碼,
import time
tic = time.time() #start
while True:
do_big_job()
toc = time.time();
if (toc - tic > timeout):
break
謝謝,但我仍然感到困惑......在這種情況下,do_big_job()會掛起,並且toc永遠不會被初始化爲發生中斷 - 我想。我錯過了什麼? – verbsintransit 2013-02-20 04:41:35
必須使用多線程來處理時間延遲。 – Octipi 2013-02-20 04:46:07
所以你想在新線程中產生任務,並且當你在父進程中時,對一個標誌進行輪詢(在主和從之間共享,哪個從更新指示完成)。顯然,當您的輪詢時間超過超時時間時,您可以終止從屬線程。 – Arcturus 2013-02-20 04:55:57
- 1. 更簡單的方法來保持git功能分支最新
- 2. 最簡單的方法來檢查OL3功能相等
- 3. 最簡單的輸出簡單MIDI文件的方法?
- 4. 最簡單的方法來「存儲」一個類沒有綁定它的功能?
- 5. 最簡單的功能選擇算法
- 6. 確定.NET MF 4.1中可用功能的最全面,最簡單的方法?
- 7. 最快最簡單的方法輸出文件夾遞歸樹
- 8. 請提出一個單元測試方法的簡單功能
- 9. 最簡單的方法來創建JAR?
- 10. 最簡單的方法來總計列?
- 11. 最簡單的方法來從URL
- 12. 最簡單的方法返回/回聲功能(速記IF)
- 13. 記住我功能 - 最簡單的方法
- 14. 簡單的方法來實現匿名元功能(Lambdas)
- 15. 輕鬆簡單的方法來實現輪廓繪圖功能?
- 16. 更簡單的方法來寫如果val =多種功能
- 17. MVC,使有條件的輸出最簡單的方法
- 18. 最簡單的方法來繪製給出的三維點
- 19. SQL最簡單的方法來過濾出相同的行?
- 20. 簡單的方法來抑制織物運行的輸出?
- 21. 從編譯包獲得Python輸出的最簡單方法?
- 22. 簡單的方法去一個功能(Emacs的,ocaml的)定義
- 23. 有沒有簡單的方法來輸出列式CSV?
- 24. 有沒有簡單的方法來獲得AspectJ輸出文件?
- 25. 最簡單的方法在編譯時
- 26. 最簡單的方法來實現Windows的SMB重定向器?
- 27. 簡單的循環功能給出意想不到的輸出
- 28. 來選擇特定功能的最有效的方法基於輸入
- 29. 最簡單的方法來創建自定義按鈕?
- 30. 最簡單的方法來在nuget中定位多個框架?
你是如何發出這些請求? 'urllib2'和'requests'都實現了一個超時(我知道'requests'的確如此)。 – Blender 2013-02-20 04:32:52
我看到一個用於FTP協議處理程序的'urllib2.setTimeout(self,t)'方法。 – Arcturus 2013-02-20 04:36:36
這是一個API特定的庫 - 沒有像請求一樣通用。我沒有找到它的超時方法。好的建議,但;謝謝! – verbsintransit 2013-02-20 04:43:25