python函数超时,python程序运行超时

  python函数超时,python程序运行超时

  本文主要介绍Python的线程控制和函数超时处理。在本文中,我们使用两种方法来实现eventlet库和@func_set_timeout装饰器。文章详细介绍了一下,有需要的朋友可以参考一下。

  00-1010前言1,事件2,功能超时1。安装2。使用

  

目录

  当我们用线程池来控制线程的运行,或者写爬虫的时候,我们需要不停的发送请求来获取地址,所以我们需要控制运行的线程。有这样一种场景,当你写网站请求时,线程一直在请求却不响应,导致线程被阻塞,浪费了宝贵的线程资源。当你写了一个错误的sql查询语句,查询语句要花很多时间才能保持运行,导致其他查询语句阻塞。遇到上述情况,必须控制线程,使程序脚本更加稳定。

  控制线程运行时间方法有多种:

  这里介绍两种方法。一种是使用eventlet库的方法,只要进行子程序调用就会无效。另一种方法是使用@func_set_timeout装饰器。这种方法可以应用于函数、线程等一系列子函数,是最方便、最简单、最高效的方法。下面是演示这两种方法的代码操作。

  

前言

  该库可以直接下载:

  pip安装事件小程序

  导入时间

  导入事件#导入事件

  Eventlet.monkey_patch()#补丁简介

  用eventlet.timeout (2,false) : #将超时设置为2秒。

  时间.睡眠(3)

  打印( 1 )

  打印( 2 )

  我们设定睡眠时间为3秒,超过了2秒,这样会导致print(1)这条语句执行跳过,直接输出2:

  导入时间

  导入事件#导入事件

  Eventlet.monkey_patch()#补丁简介

  用eventlet.timeout (2,false) : #将超时设置为2秒。

  时间.睡眠(1)

  打印( 1 )

  打印( 2 )

  当我们修改time.sleep为1小于2时,并没有超时,此时应该输出1、2:

  当我们想调用一个子程序时,这个函数不起作用。像这样,这个函数就没有作用了,这个时候就需要用第二种方法了。

  

一、Eventlet

  

二、func-timeout

  直接安装就好了。

  pip安装功能-超时

  

1.安装

  一般与try except一起使用,超时时抛出错误。

  从func_timeout导入func_set_timeout

  导入函数超时

  @func_set_timeout(1)#设置函数的超时执行时间

  定义任务(i):

  时间.睡眠(2)

  打印(一)

  尝试:

  任务(1)

  例外:

  打印(2)

  此时,如果睡眠时间超过1,应输出2:

  从func_timeout导入func_set_timeout

  导入函数超时

  @func_set_timeout(3)#设置函数的超时执行时间

  定义任务(i):

  时间.睡眠(2)

  打印(一)

  尝试:

  任务(1)

  例外:

  打印(2)

  所以输出是1。

  关于Python线程控制和函数超时处理的这篇文章到此为止。关于Python线程控制的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: