python如何解决指定代码段超时程序卡死
作者:AI_Frank 发布时间:2023-01-12 04:04:10
标签: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
多少分钟没有结束则执行动作
来源:https://blog.csdn.net/qq_30653631/article/details/106203915
0
投稿
猜你喜欢
- 前言很多人会使用postman工具,或者熟悉python,但不一定会使用python来编写测试用例脚本,postman里面可以完整的将pyt
- <html> <head> <script type="text/javascript"&
- 上期回顾:亚马逊购物用户体验分析 (二)方便的导航元素任何网上商店的成功,至关重要的一点,就是用户可以简单轻松地使用导航条。基本店铺分类,用
- 这是一篇关于怎样精简代码和Asp 特征以获得最快执行速度的详细文章。对于一个急燥的用户来说,任何在按下用户按钮到结果出现在它们的屏幕之间的延
- 最近博主在边学flask边写测试平台,碰到一个比较常用的场景如下图所示这里有一个输入框组,下拉菜单里面有3个选项,还有一个输入框,代码是用
- 我一直不很明白在中国国内流行的设计风格,象在国外的很多地方都有鲜明的设计大方向,比如韩国站点设计一般比较花哨,所以动画很多,我们常常看到韩国
- 先来看看Global.asax文件代码:<script language="VB" runat
- selenium关闭窗口有两个方法,close与quit,我们稍作研究便知道这两个方法的区别。1.看源码或API这是close()的说明:C
- 在下面这3篇文章中我们给出了手工输入代码的信号与槽的使用方法,因为采用这种方法介绍时,会简单一些,如果使用Qt Designer来介绍这些功
- Silverlight也算一个比较开放的技术。Button控件其实也是一些标准的Grid、Canvas、Rectangle、TextBloc
- 有的时候,我们为了保持网页的美观,需要将较长的文字在一定长度时截断。比如我们希望在列表中显示文章标题的前15个字,那么一个这样的标题:“rs
- 错误15105,从网上找了一些解决方案,一般都是说文件的权限不足的问题,当然附加的时候必须是有数据库附加权限才可以操作的。解决办法1:给相应
- 首先,你需要去有道翻译API官网去申请key:http://fanyi.youdao.com/openapi?path=data-mode得
- 其实golang用一个函数可以构建一个并发队列,现在编写一个灵活可控的队列程序先定义一个工作type Worker struct { &nb
- 本文和大家重点讨论一下Perl split函数的用法,Perl中的一个非常有用的函数是Perl split函数-把字符串进行分割并把分割后的
- 1 为什么找不见外星人为什么我们见不到外星人? 曾经在物理学上有一个著名人物叫费米,大家知道费米是在物理学上发现中子轰击的人,有一个著名的费
- 先让我们看一个例子,了解什么是模式化窗口。以下是QQ秀商城在非登录时提示登录的一种状态。当我在非登录状态,通过保存形象的方式买一件衣服时,弹
- 问题描述我正在用Python 3.4.1来构建一个Django项目。 manage.py runserver 引发Uni
- 由于最近有个任务需要在python环境下跑,项目是python3.6 + tensorflow1.3.1.现总结安装环境:卸载Python3
- sql server端口,我们可以通过\"服务器端网络试用工具\"和\"客户端实用工具\"来设定,设