如何在python中X秒后引发超时异常



我有一个函数,需要在X秒后引发异常,我该怎么做?我尝试了这个代码,但它不起作用:

from eventlet.timeout import Timeout
timeout = Timeout(seconds, exception)
try:
   do somethins
finally:
   timeout.cancel()

根据超时文档:

需要注意两个超时警告:

  • 如果try/finaly或with块中的代码块从未协同产生,则无法引发超时。在Eventlet中应该很少成为问题,但要意识到你不能拖延此类的仅CPU操作
  • 如果代码块捕获并没有重新引发BaseException(例如,使用except:),那么它将捕获Timeout异常,并且可能不会按预期中止

如果您在循环中不进行任何IO/睡眠的情况下进行昂贵的计算,则不会发生超时。

相关内容

  • 没有找到相关文章

最新更新