由於Python版本的Google App Engine中不支持信號模塊,因此如果方法在2秒內未返回,調用方法並拋出/捕獲異常的最簡單方法是什麼?如何限制python版Google App Engine中特定方法的允許執行時間?
3
A
回答
4
如果你正在談論RPC調用,如數據存儲,您可以創建一個最後期限(見create_rpc
)的RPC,通過RPC到您的數據存儲功能(db.get,db.put,等...),然後抓DeadlineExceededErrors
。
# Set a five-second timeout
rpc = db.create_rpc(deadline=5)
# A query:
query = YourModel.all().fetch(100, rpc=rpc)
對於您自己的代碼,您可以實施自檢,請參閱time模塊。
+0
謝謝。在許多情況下,RPC超時功能應該會有所幫助,但是如果要調用的方法不會等待查詢或數據存儲區功能完成,那麼如何才能拋出超時異常?作爲一個人爲的例子,假設我調用的方法陷入了無限循環。 – Chris 2011-02-01 09:57:05
0
在循環中,您可以存儲循環開始的時間,並檢查每次迭代進行的時間。
如果你是而不是在循環中,事情有點棘手。您可以每隔幾行代碼添加一次時間檢查位。這當然會造成非常醜陋的代碼,但是如果沒有能夠產生可以在後臺運行計時器的線程並中斷正在運行的代碼,則沒有太多辦法可以解決這個問題。
相關問題
- 1. 增加Google App Engine中的執行時間限制
- 2. 適用於Google App Engine的Python:405不允許的方法
- 3. 此資源不允許POST方法。 Google App Engine Python
- 4. Google App Engine中的時間限制的確切機制Python的urlfetch?
- 5. Python Google App Engine:從yaml文件調用特定方法?
- 6. Google App Engine中「後臺線程」的時間限制
- 7. Google App Engine中任務隊列的時間限制
- 8. Google App Engine 1分鐘cron限制的任何解決方法?
- 9. Python - Google App Engine
- 10. Google App Engine中針對Ajax的自定義HTTP方法(Python)
- 11. 允許/限制AWS的特定HTTP方法elb級別
- 12. Google App Engine的版本控制
- 13. 使用java.io的Google App Engine限制?
- 14. Google App Engine的1分鐘cron限制
- 15. Google App Engine上的域限制認證
- 16. Google App Engine是否允許第三方Web服務訪問?
- 17. 在Google App Engine中執行重定向時的目標屬性(Python)
- 18. Google Cloud App Engine Cron無法執行python腳本
- 19. Google App Engine | Python | APP.YAML
- 20. template.render()Google App Engine(python)
- 21. Google App Engine Python Cron
- 22. 如何限制Google App Engine中的Django-Nonrel查詢結果集?
- 23. Google App Engine - Cron保持活動限制
- 24. Google App Engine實體組寫入限制
- 25. 如何限制方法的實際執行時間
- 26. 在Google App Engine中定義Python函數
- 27. 如何在PHP中爲Google App Engine執行URLFetch時禁用重定向?
- 28. Google App Engine版本號?
- 29. Google App Engine密鑰中允許使用哪些字符?
- 30. 使用Python在Google App Engine中執行Java程序
我沒有看到任何關於它不被支持的文檔。你有沒有找到任何東西,或只是嘗試使用它,並注意到,當你導入它時,你會得到一個空的模塊? – 2012-09-22 07:08:53