由于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的Python:405不允许的方法
- 2. 此资源不允许POST方法。 Google App Engine Python
- 3. Google App Engine中的时间限制的确切机制Python的urlfetch?
- 4. Google App Engine中“后台线程”的时间限制
- 5. Google App Engine中任务队列的时间限制
- 6. Python Google App Engine:从yaml文件调用特定方法?
- 7. Google App Engine 1分钟cron限制的任何解决方法?
- 8. Python - Google App Engine
- 9. 允许/限制AWS的特定HTTP方法elb级别
- 10. Google App Engine的版本控制
- 11. 使用java.io的Google App Engine限制?
- 12. Google App Engine是否允许第三方Web服务访问?
- 13. 在Google App Engine中执行重定向时的目标属性(Python)
- 14. Google Cloud App Engine Cron无法执行python脚本
- 15. template.render()Google App Engine(python)
- 16. Google App Engine Python Cron
- 17. 如何限制Google App Engine中的Django-Nonrel查询结果集?
- 18. Google App Engine实体组写入限制
- 19. 如何限制方法的实际执行时间
- 20. Google App Engine版本号?
- 21. Google App Engine密钥中允许使用哪些字符?
- 22. 使用Python在Google App Engine中执行Java程序
- 23. Google App Engine上的Imaplib Python
- 24. Google App Engine(Python) - REMOTE_ADDR的奇怪行为
- 25. 多次执行Google App Engine请求
- 26. 可从Google App Engine项目执行
- 27. 如何解决Google App Engine的10GB限制?
- 28. Google App Engine超时?
- 29. 在GQLQueries(JDO)中选择特定的行Google app Engine JAVA
- 30. Python - Google App Engine - Django模板中的方法
我没有看到任何关于它不被支持的文档。你有没有找到任何东西,或只是尝试使用它,并注意到,当你导入它时,你会得到一个空的模块? – 2012-09-22 07:08:53