开发者

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

目录
  • python解决指定代码段超时程序卡死
  • pythonhttp://www.devze.com程序运行超过时长强制退出
    • 1、程序内部设置时长,超过退出
    • 2、程序外部控制,超过强制退出

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

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

大致模板如下:

import eventlet
eventlet.monkey_patch()

flag_Tim编程客栈eOut = 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(timepython.time()).tm_hour - t1<3:
        p开发者_JS学习rint("@@@@",time.localtime(time.time()).tm_hour)
    else:
        print("break")
        break
print("finsh")
import time
import eventleandroidt#导入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('开始运行!')
http://www.devze.com    time.sleep(6)
    return '执行成功,未超时'


try:

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

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

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

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

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

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

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜