最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python裝飾器實(shí)現(xiàn)對(duì)異常代碼出現(xiàn)進(jìn)行自動(dòng)監(jiān)控的實(shí)現(xiàn)方法

 更新時(shí)間:2020年09月15日 08:55:18   作者:Python探索牛  
這篇文章主要介紹了python裝飾器實(shí)現(xiàn)對(duì)異常代碼出現(xiàn)進(jìn)行自動(dòng)監(jiān)控的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

異常,不應(yīng)該存在,但是我們有時(shí)候會(huì)遇到這樣的情況,比如我們監(jiān)控服務(wù)器的時(shí)候,每一秒去采集一次信息,那么有一秒沒(méi)有采集到我們想要的信息,但是下一秒采集到了, 而后每次的采集都能采集到,就那么一次采集不到,我們應(yīng)該針對(duì)這一次采集不到進(jìn)行分析嗎,這種的情況可以說(shuō)無(wú)法重復(fù)出現(xiàn),我們也無(wú)法避免,因?yàn)橥饨绲囊蛩靥嗵?,我們無(wú)法去控制這些外面的因素,所以我們會(huì)有這樣的需求,一段時(shí)間內(nèi)出現(xiàn)頻率多少次,我們才能顯示一次報(bào)警,或者說(shuō),一段時(shí)間內(nèi)出現(xiàn)的頻率達(dá)到我們的異常許可范圍我們認(rèn)為這樣的屬于異常,我們可以發(fā)出報(bào)警。

那么我們?cè)趺磥?lái)實(shí)現(xiàn)呢,我想到了裝飾器,當(dāng)程序執(zhí)行到異常后,我記錄時(shí)間,寫(xiě)入文件,然后讀取最近的第五次的判斷,兩者時(shí)間戳的只差小于60s,我認(rèn)為這樣的可以發(fā)送警報(bào),如果大于60s,則認(rèn)為不足以發(fā)出我們的警告,

那么我們來(lái)看看我們的代碼應(yīng)該怎么寫(xiě)。

import datetime,time,random
def make(func):
  def mak(*args,**kwargs):
    try:
      func(*args,**kwargs)
    except:
      with open('except.txt','a+') as f:
        except_time=datetime.datetime.now()
        f.writelines(except_time.strftime('%Y-%m-%d %H:%M:%S')+'\n')
        f.close()
      with open('except.txt','rb') as m:
        try:
          date=m.readlines()[-5].decode('utf-8')
          ne=(date.split('\r\n')[0])
          f1=datetime.datetime.strptime(ne,'%Y-%m-%d %H:%M:%S')
          if (except_time-f1).seconds<6:
            print('異常!?。ail')
          else:
            print('正常!')
          m.close()
        except:
          print('越界代表著我們的實(shí)驗(yàn)是成功的')
  return mak
@make
def beijing(i,m):
  print(i/m)
if __name__=="__main__":
  while True:
    f=random.choice([0,1,2,3])
    n=random.choice([0,1,2,3])
    beijing(f,n)
    time.sleep(0.3)

這樣我們針對(duì)一個(gè)程序的異常監(jiān)控就實(shí)現(xiàn)了,我們來(lái)運(yùn)行下這個(gè)異常監(jiān)控的代碼。,

我們可以看到我們的代碼可以正常運(yùn)行,那么我們來(lái)試試,我們對(duì)多個(gè)程序的代碼進(jìn)行監(jiān)控,我們的腳本可不可以實(shí)現(xiàn)呢。

@make
def shanghai(i,m):
  print(i/m)
@make
def rizhao(i,m):
  print(i/m)
@make
def zhengzhou(i,m):
  print(i/m)

PS:遇到問(wèn)題沒(méi)人解答?需要Python學(xué)習(xí)資料?可以加點(diǎn)擊下方鏈接自行獲取
note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76

我們?cè)黾舆@么幾個(gè)方法,并且我們?nèi)ミ\(yùn)行他們,

我們可以看到,只要有異常,我們的程序都會(huì)記錄,當(dāng)然了,這樣的還不能正常利用到我們的工作中,

稍后,可以將這里的異常監(jiān)控的部分的實(shí)踐,和我之前寫(xiě)的異常監(jiān)控腳本想結(jié)合下。

總結(jié)

到此這篇關(guān)于python裝飾器實(shí)現(xiàn)對(duì)異常代碼出現(xiàn)進(jìn)行自動(dòng)監(jiān)控的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)python裝飾器自動(dòng)監(jiān)控內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

长子县| 娄烦县| 财经| 遂平县| 永泰县| 桐庐县| 古交市| 宣武区| 万盛区| 温州市| 黄陵县| 金寨县| 巴中市| 中西区| 浙江省| 玉田县| 祁阳县| 荔浦县| 名山县| 阳曲县| 潜山县| 青岛市| 常熟市| 九江县| 洪泽县| 满城县| 鲁甸县| 中牟县| 哈尔滨市| 星子县| 枝江市| 绥阳县| 上思县| 泰和县| 澎湖县| 武鸣县| 盱眙县| 改则县| 阿坝| 天峨县| 灵台县|