首页 > 代码库 > Tornado初探
Tornado初探
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 =http://www.mamicode.com/ self.Command(cmd) 41 if data: 42 resultDict[‘hostname‘] = data 43 44 def getDiskinfo(self): 45 cmd = ‘df -h‘ 46 data =http://www.mamicode.com/ 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()
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。