python如何解决指定代码段超时程序卡死
作者:AI_Frank 时间:2023-01-12 04:04:10
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
多少分钟没有结束则执行动作
来源:https://blog.csdn.net/qq_30653631/article/details/106203915
标签:python,指定,代码段,程序卡死
0
投稿
猜你喜欢
python中利用xml.dom模块解析xml的方法教程
2022-08-17 01:44:47
实用技巧:优化SQL Server数据库查询方法
2009-02-04 13:46:00
Python模块的制作方法实例分析
2021-09-06 05:57:26
完全卸载MYSQL
2011-02-23 12:11:00
Python实现屏幕截图的代码及函数详解
2023-06-19 11:30:29
Python中OpenCV实现查找轮廓的实例
2023-12-05 05:26:24
pytorch训练神经网络爆内存的解决方案
2023-07-06 01:46:24
Django城市信息查询功能的实现步骤
2023-09-01 21:28:48
Python封装成可带参数的EXE安装包实例
2023-05-19 04:50:17
js getElementsByTagName的简写方式
2024-04-17 09:56:27
Python实现字典按照value进行排序的方法分析
2022-11-03 04:27:27
详解Go语言如何实现二叉树遍历
2024-04-23 09:44:10
详细讲解Access数据库远程连接的实用方法
2008-11-28 16:34:00
Golang reflect反射的使用实例
2024-05-05 09:32:17
Python 使用 pip 安装 matplotlib 模块的方法
2021-08-22 02:42:52
一个NumericStepper组件
2010-01-22 15:46:00
django使用F方法更新一个对象多个对象字段的实现
2021-07-20 10:38:42
Pyramid添加Middleware的方法实例
2022-11-25 18:50:34
缓存是如何实现的?
2009-11-01 15:35:00
用SQL语句生成带有小计合计的数据集脚本
2009-01-06 11:33:00