40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
|
|
#coding: utf-8
|
|||
|
|
import sys,os,time
|
|||
|
|
os.chdir('/www/server/panel/')
|
|||
|
|
sys.path.insert(0,"class/")
|
|||
|
|
import public
|
|||
|
|
import http_requests
|
|||
|
|
http_requests.DEFAULT_TYPE = 'src'
|
|||
|
|
os.environ['BT_TASK'] = '1'
|
|||
|
|
|
|||
|
|
def main():
|
|||
|
|
import panelMessage
|
|||
|
|
import re
|
|||
|
|
msgObj = panelMessage.panelMessage()
|
|||
|
|
data = msgObj.get_messages()
|
|||
|
|
for x in data:
|
|||
|
|
if x['level'] in ['danger', 'error'] and not x['send'] and x['retry_num'] < 5:
|
|||
|
|
msg = '服务器IP【{}】: {}'.format(
|
|||
|
|
public.GetLocalIp(), re.sub(r',?<a\s*.+</a>', '', x['msg']))
|
|||
|
|
is_send = False
|
|||
|
|
|
|||
|
|
ret = public.return_is_send_info()
|
|||
|
|
for key in ret:
|
|||
|
|
if ret[key]:
|
|||
|
|
ret = public.send_body_words(key, 'YakPanel 消息提醒', msg)
|
|||
|
|
if ret:
|
|||
|
|
is_send = True
|
|||
|
|
pdata = {}
|
|||
|
|
if is_send:
|
|||
|
|
pdata['send'] = 1
|
|||
|
|
pdata['retry_num'] = 0
|
|||
|
|
else:
|
|||
|
|
pdata['send'] = 0
|
|||
|
|
pdata['retry_num'] = x['retry_num'] + 1
|
|||
|
|
|
|||
|
|
msgObj.set_send_status(x['id'], pdata)
|
|||
|
|
time.sleep(5)
|
|||
|
|
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
main()
|