当前位置:首页 >> 脚本专栏

python函数超时自动退出的实操方法

本章给大家在项目使用时候,常见的一种情况解决案例,即是当我们调用多个线程,使用了同一个函数去处理数据的时候,有些用函数已经处理完成,但是有些还没有,这就需要我们将任务进行分割,然后当一小部分任务执行后,退出来,另外没有执行的完成超时的就继续去执行,下面就针对遇到这些问题的小伙伴,给大家提供解决参考。

安装timeout-decorator库:

pip3 install timeout-decorator

编写异常语句:

@timeout_decorator.timeout(5, timeout_exception=StopIteration)

函数限制超时:

@timeout_decorator.timeout(5, use_signals=False)

解决案例:

import timeout_decorator
@timeout_decorator.timeout(5)
def mytest():
 print("Start")
 for i in range(1, 10):
  time.sleep(1)
  print("{} seconds have passed".format(i))
def main():
 mytest()
if __name__ == '__main__':
main()