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


猜你喜欢
- 元数据简介元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据的信息”,日常生活中的图例、图书馆
- “一起去爬山吧?”这句台词火爆了整个朋友圈,没错,就是来自最近热门的《隐秘的角落》,豆瓣评分8.9分,好评不断。感觉还是蛮不错的。同时,为了
- 前言一直想好好学习一下Python爬虫,之前断断续续的把Python基础学了一下,悲剧的是学的没有忘的快。只能再次拿出来滤了一遍,趁热打铁,
- 学习了Go语言后,打算利用最近比较空一点,写一个前端部署工具,不需要每次都复制粘贴的麻烦,需要完成部署的第一步就需要连接远程服务器打开 ss
- 聚合函数 count,max,min,avg,sum... select count (*) from T_Employee select
- 本文实例讲述了Python实现的凯撒密码算法。分享给大家供大家参考,具体如下:一 介绍凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军
- 像素是计算机视觉中图像的重要属性。它们是表示图像 * 定空间中光的颜色强度的数值,是图像中数据的最小单位。图像中的像素总数是高度、宽度和通道的
- 求一个算式a=1b=2c=3 print c*(a/b)运行结果总是0,反复检查拆开以后,发现在Python里,整数初整数,只能得
- elasticsearch 的client ,通过 NewClient 建立连接,通过 NewClient 中的 Set.URL设置访问的地
- 目录一、字符串:二、使用:(1)空字符串和 len( ) 函数(2)转译字符( \ )(3)字符串拼接(4)字符串复制(
- 目录1.编写模块结构1.1 git创建空文件1.2 编写包功能函数1.3 包必备函数1、README.md文件是在git上生成的说明项目的文
- 一、使用copula生成合成数据集(synthetic dataset)1. 三维数据描述建立一个三维数据表,查看三维数据的散点
- 本文实例为大家分享了Python3多线程版TCP端口扫描器的具体代码,供大家参考,具体内容如下使用命令python BannerDemo.p
- 多进程共享变量和获得结果由于工程需求,要使用多线程来跑一个程序。但是因为听说python的多线程是假的,于是使用多进程,反正任务需要共享的参
- 今天在下脚本的时候遇到一个问题,比如有这样的一个字符串 t = "book123456",想把尾部的数字全部去掉,只留下
- 今天记录一下pandas筛选出一个表中满足另一个表中所有条件的数据。例如:list1 结构:名字,ID,颜色,数量,类型。list1 = [
- 前言上篇文章记录了2种分割验证码的方法,此外还有一种叫做”滴水算法”(Drop Fall Algorithm)的方法,但本人智商原因看这个算
- 数据库并行访问,也就是两个或两以上用户同时访问同一数据,这也是数据库引擎如何设计和实现适度反应所面临的最大问题。设计优良、性能卓越的数据库引
- 今天分享 3 个 Python 编程小技巧,来看看你是否用过?1、如何按照字典的值的大小进行排序我们知道,字典的本质是哈希表,本身是无法排序
- 记得以前的windows 任务定时是可以的正常使用的,今天试了下,发现不能正常使用了,任务计划总是挂起。接下来记录下python 爬虫定时任