标签:style blog http color os io for ar
Auth: Jin
Date: 20140816
http://www.tornadoweb.cn/documentation
1、install
#yum -y install python-setuptools
# easy_install -U setuptools
# easy_install install Tornado
或者
yum -y install python-pip
pip install Tornado
2。测试
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
3.测试2
1 # coding=utf8 2 import tornado.ioloop 3 import tornado.web 4 import subprocess,os,json 5 6 class MainHandler(tornado.web.RequestHandler): 7 def get(self): 8 self.write("Hello, world") 9 10 class GetServerHandler(tornado.web.RequestHandler): 11 def get(self): 12 global resultDict 13 resultDict = {} 14 sys = os.name 15 if sys == ‘nt‘: 16 return False 17 elif sys == ‘posix‘: 18 self.getHostname() 19 self.getDiskinfo() 20 #return resultDict 21 resultJson = json.dumps(resultDict,sort_keys=True,indent=4) 22 self.write(resultJson) 23 24 def Command(self,cmd): 25 cmd = cmd 26 pstat=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) 27 pstderr=pstat.stderr.readlines() 28 pstdout=pstat.stdout.readlines() 29 if pstderr: 30 errorstr = pstderr[0].rstrip(‘\n‘) 31 return False 32 else: 33 if pstdout: 34 stdoutstr = pstdout[0].rstrip(‘\n‘) 35 print stdoutstr 36 return stdoutstr 37 38 def getHostname(self): 39 cmd = ‘hostname‘ 40 data = self.Command(cmd) 41 if data: 42 resultDict[‘hostname‘] = data 43 44 def getDiskinfo(self): 45 cmd = ‘df -h‘ 46 data = self.Command(cmd) 47 if data: 48 resultDict[‘diskinfo‘] = data 49 50 class MemHandler(tornado.web.RequestHandler): 51 def get(self): 52 cmd = "cat /proc/meminfo |awk -F: ‘{print $1,$2}‘|awk ‘{print $1,$2}‘" 53 resultDict = {} 54 try: 55 pstat = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) 56 pstderr = pstat.stderr.readlines() 57 pstdout = pstat.stdout.readlines() 58 if pstderr: 59 resultDict[‘errorcode‘] = "command error:%s " % pstderr[0].rstrip(‘\n‘) 60 else: 61 if pstdout: 62 resultDict = dict([tuple(i.strip(‘\n‘).split()) for i in pstdout]) 63 else: 64 resultDict[‘errorcode‘] = ‘command not output‘ 65 except Exception,e: 66 pass 67 resultDict[‘errorcode‘] = str(e) 68 resultJson = json.dumps(resultDict,sort_keys=True,indent=4) 69 self.write(resultJson) 70 else: 71 resultJson = json.dumps(resultDict,sort_keys=True,indent=4) 72 self.write(resultJson) 73 74 def post(self): 75 cmd = "cat /proc/meminfo |awk -F: ‘{print $1,$2}‘|awk ‘{print $1,$2}‘" 76 resultDict = {} 77 try: 78 pstat = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) 79 pstderr = pstat.stderr.readlines() 80 pstdout = pstat.stdout.readlines() 81 if pstderr: 82 resultDict[‘errorcode‘] = "command error:%s " % pstderr[0].rstrip(‘\n‘) 83 else: 84 if pstdout: 85 resultDict = dict([tuple(i.strip(‘\n‘).split()) for i in pstdout]) 86 else: 87 resultDict[‘errorcode‘] = ‘command not output‘ 88 except Exception,e: 89 pass 90 resultDict[‘errorcode‘] = str(e) 91 resultJson = json.dumps(resultDict,sort_keys=True,indent=4) 92 self.write(resultJson) 93 else: 94 resultJson = json.dumps(resultDict,sort_keys=True,indent=4) 95 self.write(resultJson) 96 97 98 99 application = tornado.web.Application([ 100 (r"/", MainHandler), 101 (r"/hostinfo", GetServerHandler), 102 (r"/getmeminfo", MemHandler), 103 ]) 104 105 if __name__ == "__main__": 106 application.listen(8888) 107 tornado.ioloop.IOLoop.instance().start()
标签:style blog http color os io for ar
原文地址:http://www.cnblogs.com/diege/p/3916834.html