python如何解決指定代碼段超時程序卡死
python解決指定代碼段超時程序卡死
最近我寫的一個程序中遇到了解析網(wǎng)頁的代碼,對于網(wǎng)頁信息比較多的可能會超時,最后解析失敗,程序卡死,于是我就找到了一個解決辦法
大致模板如下:
import eventlet eventlet.monkey_patch() flag_TimeOut = True with eventlet.Timeout(40, False): ?# 設(shè)置超時時間為20秒 ?? ?qualified = Qua.getQualifiedRate(all_url) ?? ?isPass = qualified.getPassRate() ?? ?flag_TimeOut = False if flag_TimeOut: ?? ?print("程序超時!")
注意:主要就是導(dǎo)入eventlet這個模塊,借助它來完成超時處理,具體的函數(shù)介紹可以去搜索下相關(guān)資料,這里主要提供一個方法。
python程序運行超過時長強制退出
python程序運行超過時長強制退出方式,防止程序卡死;
主要兩種方式:
1、程序內(nèi)部設(shè)置時長,超過退出
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#導(dǎo)入eventlet這個模塊 eventlet.monkey_patch()#必須加這條代碼 with eventlet.Timeout(2,False):#設(shè)置超時時間為2秒 time.sleep(4) print('沒有跳過這條輸出') print('跳過了輸出')
func_timeout
from func_timeout import func_set_timeout @func_set_timeout(5) # 設(shè)定函數(shù)執(zhí)行時間 def task(): print('開始運行!') time.sleep(6) return '執(zhí)行成功,未超時' try: task() excpet: print("---")
2、程序外部控制,超過強制退出
通過jenkins插件build-timeout ,安裝后重啟生效https://updates.jenkins.io/latest/build-timeout.hpi
Absolute
多少分鐘沒有結(jié)束則執(zhí)行動作
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)linux服務(wù)器批量修改密碼并生成execl
這篇文章主要介紹了python實現(xiàn)linux服務(wù)器批量修改密碼并生成execl示例,需要的朋友可以參考下2014-04-04使用Pycharm創(chuàng)建一個Django項目的超詳細圖文教程
Django是比較經(jīng)典的Python web框架,最近剛好在項目中用到了Django,所以下面這篇文章主要給大家介紹了關(guān)于使用Pycharm創(chuàng)建一個Django項目的超詳細圖文教程,文中介紹的非常詳細,需要的朋友可以參考下2022-08-08Python數(shù)據(jù)類型相互轉(zhuǎn)換
當涉及數(shù)據(jù)類型轉(zhuǎn)換時,Python提供了多種內(nèi)置函數(shù)來執(zhí)行不同類型之間的轉(zhuǎn)換,本文主要介紹了Python數(shù)據(jù)類型相互轉(zhuǎn)換,具有一定的參考價值,感興趣的可以了解一下2023-09-09pytorch動態(tài)網(wǎng)絡(luò)以及權(quán)重共享實例
今天小編就為大家分享一篇pytorch動態(tài)網(wǎng)絡(luò)以及權(quán)重共享實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01python中 chr unichr ord函數(shù)的實例詳解
這篇文章主要介紹了python中 chr unichr ord函數(shù)的實例詳解的相關(guān)資料,需要的朋友可以參考下2017-08-08centos+nginx+uwsgi+Django實現(xiàn)IP+port訪問服務(wù)器
這篇文章主要介紹了centos+nginx+uwsgi+Django實現(xiàn)IP+port訪問服務(wù)器,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python獲取和設(shè)置代理的動態(tài)IP的方式
在網(wǎng)絡(luò)世界中,代理和動態(tài)IP是非常常見的概念,尤其對于需要大規(guī)模訪問網(wǎng)站或者需要隱藏真實IP地址的應(yīng)用程序來說,更是必不可少的工具,本文將給大家介紹如何使用編程技術(shù)來實現(xiàn)動態(tài)IP的設(shè)置和管理,需要的朋友可以參考下2024-05-05