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

(编辑:jimmy 日期: 2024/9/21 浏览:2)

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

安装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()

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。