12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- from datetime import datetime
- from myproject.cplustools.component_controler import *
- from PyServerMonitor import *
- def deamon(MsgRepeaters):
- for MsgRepeater in MsgRepeaters:
- component = Action(MsgRepeater)
- if not component.isalived():
- component.start()
- content = '%s was down, now get starting.' % MsgRepeater
- writelog(content)
- def stopMsgRepeater(MsgRepeaters):
- for MsgRepeater in MsgRepeaters:
- component = Action(MsgRepeater)
- component.stop()
- content = '%s was shutdown by deamon process.' % MsgRepeater
- writelog(content)
- def checkmemused():
- meminfo = SystemInfo().memory_stat()
- mem_used = meminfo['MemUsed']
- mem_total = meminfo['MemTotal']
- percent_memuseage = (float(mem_used) / float(mem_total)) * 100
- if int(percent_memuseage) > 97:
- content = 'memory used over %.2f%% !\n' % percent_memuseage
- writelog(content)
- return True
- return False
- def writelog(content, logfile = 'Process_deamon.log'):
- f = open(logfile,'a')
- f.write('%s %s\n' % (datetime.now(),content))
- f.close()
- if __name__ == '__main__':
- MsgRepeaters = ['MsgRepeater1','MsgRepeater2','MsgRepeater3','MsgRepeater4']
- while 1:
- if checkmemused():
- stopMsgRepeater(MsgRepeaters)
- deamon(MsgRepeaters)
- time.sleep(10)
|