相关疑难解决方法(0)

函数调用超时

我正在调用Python中的一个函数,我知道它可能会停止并迫使我重新启动脚本.

如何调用该函数或我将其包装成什么,以便如果它花费的时间超过5秒,脚本会取消它并执行其他操作?

python multithreading timeout python-multithreading

259
推荐指数
14
解决办法
27万
查看次数

Python超时装饰器

我正在使用这里提到的代码解决方案。
我是装饰人员的新手,如果我要编写以下内容,则不明白为什么该解决方案不起作用:

@timeout(10)
def main_func():
    nested_func()
    while True:
        continue

@timeout(5)
def nested_func():
   print "finished doing nothing"
Run Code Online (Sandbox Code Playgroud)

=>这样的结果将根本没有超时。我们将陷入无限循环。
但是,如果我@timeout从中删除注释,则会nested_func收到超时错误。
由于某种原因,我们不能同时在函数和嵌套函数上使用装饰器,任何想法为何以及如何能够使其正常工作,假设包含函数的超时必须始终大于嵌套的超时。

python python-2.7 python-decorators

5
推荐指数
1
解决办法
8792
查看次数