【发布时间】:2011-04-18 04:10:40
【问题描述】:
我一直在寻找这个,但似乎无法找到一个确切的答案(大多数会涉及更复杂的事情,如多线程等),我只想做一些类似 Try, 除了声明如果进程没有'没有在 X 秒内完成会抛出异常。
编辑:这样做的原因是我正在使用一个网站测试软件 (selenium),其配置有时会导致它挂起。它不会抛出错误,不会超时或做任何事情,所以我无法捕捉到它。我想知道最好的方法是确定这种情况已经发生,这样我就可以在我的应用程序中继续前进,所以我在想我是否可以做类似的事情,“如果这还没有在 X 秒内完成......继续前进” .
【问题讨论】:
-
当你说你“使用一个网站测试软件”时——你的意思是你用某种
system或管道调用它,作为一个子进程,还是什么? (对不起,如果这对于熟悉硒的人来说很明显,我不是) -
好吧,它有自己为 Python 构建的 API,所以它只是导入一些 Selenium python 类并从那里调用它,它的 (selenium) 不是 python 应用程序,虽然它是用 javascript 编写的
-
感谢您的回答,这帮助我指出了正确的方向,我认为这是使用进程并根据某些条件将其终止(即,如果它不更新数据库一个值,表明它在一定时间内“完成”)
-
请不要评论您自己的问题。请更新您的问题。如果您的更新包括您所有的 cmets,请删除无用和混乱的 cmets。请完成问题本身。
-
对我有帮助的是信号:stackoverflow.com/questions/492519/timeout-on-a-function-call 第一个链接的问题也是关于信号的,但很容易忽略。
标签: python error-handling timeout