python如何解决指定代码段超时程序卡死

 更新时间:2022年11月28日 09:34:37   作者:AI_Frank  
这篇文章主要介绍了python如何解决指定代码段超时程序卡死,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

python解决指定代码段超时程序卡死

最近我写的一个程序中遇到了解析网页的代码,对于网页信息比较多的可能会超时,最后解析失败,程序卡死,于是我就找到了一个解决办法

大致模板如下:

import eventlet
eventlet.monkey_patch()

flag_TimeOut = True
with eventlet.Timeout(40, False):  # 设置超时时间为20秒
    qualified = Qua.getQualifiedRate(all_url)
    isPass = qualified.getPassRate()
    flag_TimeOut = False

if flag_TimeOut:
    print("程序超时!")

注意:主要就是导入eventlet这个模块,借助它来完成超时处理,具体的函数介绍可以去搜索下相关资料,这里主要提供一个方法。

python程序运行超过时长强制退出

python程序运行超过时长强制退出方式,防止程序卡死;

主要两种方式:

1、程序内部设置时长,超过退出

import datetime
import time

import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime – starttime).seconds
import datetime
import time


t1 = time.time()
t1 = time.localtime(t1).tm_hour
print(t1)
while 1:
    if time.localtime(time.time()).tm_hour - t1<3:
        print("@@@@",time.localtime(time.time()).tm_hour)
    else:
        print("break")
        break
print("finsh")
import time
import eventlet#导入eventlet这个模块
eventlet.monkey_patch()#必须加这条代码
with eventlet.Timeout(2,False):#设置超时时间为2秒
   time.sleep(4)
   print('没有跳过这条输出')
print('跳过了输出')

func_timeout

from func_timeout import func_set_timeout


@func_set_timeout(5) # 设定函数执行时间
def task():
    print('开始运行!')
    time.sleep(6)
    return '执行成功,未超时'


try:

	task()
excpet:
	print("---")

2、程序外部控制,超过强制退出

通过jenkins插件build-timeout ,安装后重启生效https://updates.jenkins.io/latest/build-timeout.hpi

  • Absolute 多少分钟没有结束则执行动作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中性能分析利器pyinstrument详细讲解

    Python中性能分析利器pyinstrument详细讲解

    大家好,本篇文章主要讲的是Python中性能分析利器pyinstrument详细讲解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题

    解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题

    这篇文章主要介绍了解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • python调试神器PySnooper的使用

    python调试神器PySnooper的使用

    这篇文章主要介绍了python调试神器PySnooper的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python动态网站爬虫实战(requests+xpath+demjson+redis)

    python动态网站爬虫实战(requests+xpath+demjson+redis)

    本文主要介绍了python动态网站爬虫实战(requests+xpath+demjson+redis),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 利用Python 制作二维码

    利用Python 制作二维码

    这篇文章主要介绍的是如何利用Python 制作二维码,文章从介绍python 二维码制作的第三方库QRCode 和MyQR展开话题,需要的小伙伴可以参考一下文章的具体内容
    2021-09-09
  • python 读写文件包含多种编码格式的解决方式

    python 读写文件包含多种编码格式的解决方式

    今天小编就为大家分享一篇python 读写文件包含多种编码格式的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python 通过爬虫实现GitHub网页的模拟登录的示例代码

    Python 通过爬虫实现GitHub网页的模拟登录的示例代码

    这篇文章主要介绍了Python 通过爬虫实现GitHub网页的模拟登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Django中Aggregation聚合的基本使用方法

    Django中Aggregation聚合的基本使用方法

    这篇文章主要给大家介绍了关于Django中Aggregation聚合的基本使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • Python Pivot table透视表使用方法解析

    Python Pivot table透视表使用方法解析

    这篇文章主要介绍了Python Pivot table透视表使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python paramiko模块的使用示例

    Python paramiko模块的使用示例

    本篇文章主要介绍了Python paramiko模块的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论