開前準備
Schedule使用方法。
基本的Linux操作
Python3環境
Step1
首先我得先假設你會了如何每十五分鐘去運行一次檢查這件事情。(後期我會補上如何去做定時任務,相信我!)
代碼量比較少,選擇在Linux環境下直接寫腳本。
import os #使用os的popen執行bash命令 content=os.popen("lsof -i:8080").read()
輸出一下content看看,就是命令行執行輸出的內容,看關鍵詞webcache,但是輸出的已經是文本文件了,可以直接使用find()函數去找這個“webcache”字眼,當服務崩掉的時候,肯定是沒有這個字眼的,find()的返回值就為1,看到這,是不是有些思路了呢?
str(content).find("webcache")
返回值是113(服務沒崩的時候)
下面貼出一段代碼
serverInfo=os.popen("lsof -i:8080").read() serverInfoStr=str(serverInfo).find("webcache") if not serverInfoStr == -1: #insertLog(content=content_enum["SERVER_OK"],status=200,equId="server001") #加入數據庫 else: #服務器掛掉 #insertLog(content=content_enum["SERVER_ERROR"],status=404,equId="server001") #執行指令 os.system(" nohup java -jar miaosha-0.0.1-SNAPSHOT.jar &")
這就是簡單實現服務監聽的代碼片段,有空再更新如何用定時任務進行定時監聽~
[zmcjlove ] Python腳本實現監聽服務器的思路代碼詳解已經有232次圍觀