簡體   English   中英

如何限制python版Google App Engine中特定方法的允許執行時間?

[英]How can you limit the allowed execution time of specific methods in the python version of Google App Engine?

由於python版本的Google App Engine不支持信號模塊,如果方法在不到2秒內沒有返回,調用方法和拋出/捕獲異常的最簡單方法是什么?

如果您正在討論RPC調用(例如數據存儲區),則可以使用截止日期創建RPC(請參閱create_rpc ),將RPC傳遞給數據存儲區功能( db.getdb.put等等),然后捕獲DeadlineExceededErrors

# Set a five-second timeout
rpc = db.create_rpc(deadline=5)

# A query:
query = YourModel.all().fetch(100, rpc=rpc)

URLFetch 獲取功能也需要截止日期參數。

對於您自己的代碼,您可以自己實現檢查,請參閱時間模塊。

在循環中,您可以存儲循環開始的時間並檢查每次迭代的持續時間。

如果你不在循環中,事情會有點棘手。 您可以每隔幾行代碼添加時間檢查位。 當然,這會產生非常丑陋的代碼,但是如果沒有能夠生成可以在后台運行定時器並中斷正在運行的代碼的線程,那么就沒有太多方法了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM