python web框架之tornado简单使用
作者:互联网
import sys
import os
sys.path.append(os.path.dirname(__file__) + os.sep + '../')
import json, datetime
from tornado.web import RequestHandler, Application
from tornado.ioloop import IOLoop
from tornado.httpserver import HTTPServer
from tornado.options import options
from tornado.concurrent import run_on_executor
from concurrent.futures import ThreadPoolExecutor
import tornado.gen
import uuid
from redis import Redis
redis_db =8 #你redis的db是哪个 conn =Redis(db=redis_db)
#Test class Test(RequestHandler): executor = ThreadPoolExecutor(200) #200连接数 @run_on_executor #并发 def post(self): print(self.request.body) if not self.request.body: return self.write(json.dumps({"status": 1, "message": "no postdata"})) from_data = json.loads(self.request.body) #获取postdata
#HealthCheck class HealthCheck(tornado.web.RequestHandler): @tornado.gen.coroutine def get(self, *args, **kwargs): self.write((json.dumps({"health_check": "Success"})))
class TornadoServer: def handle(self): options.parse_command_line() # 创建一个项目应用,接入web服务器 app = Application([ (r"/health_check", HealthCheck), # 测试 (r"/test", Test), # 获取代理 ], settings={ } ) print('%s--tornado服务启动' % datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) # 开始监听端口,提供服务 http_server = HTTPServer(app) http_server.bind((8888)) #生成端口 http_server.start() # 默认参数1 启动一个进程 # start(num) num<=0 按照当前os cpu核心数量 进行 进程启动 fork # num>1 表示通过fork 启动多个子进程 # 在启动IOLoop之前通过start函数设置进程数量,如果设置为0表示每个CPU都启动一个进程。 IOLoop.current().start()
if __name__ == '__main__': TornadoServer().handle()
redis_db =8 #你redis的db是哪个 conn =Redis(db=redis_db)
#Test class Test(RequestHandler): executor = ThreadPoolExecutor(200) #200连接数 @run_on_executor #并发 def post(self): print(self.request.body) if not self.request.body: return self.write(json.dumps({"status": 1, "message": "no postdata"})) from_data = json.loads(self.request.body) #获取postdata
#HealthCheck class HealthCheck(tornado.web.RequestHandler): @tornado.gen.coroutine def get(self, *args, **kwargs): self.write((json.dumps({"health_check": "Success"})))
class TornadoServer: def handle(self): options.parse_command_line() # 创建一个项目应用,接入web服务器 app = Application([ (r"/health_check", HealthCheck), # 测试 (r"/test", Test), # 获取代理 ], settings={ } ) print('%s--tornado服务启动' % datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) # 开始监听端口,提供服务 http_server = HTTPServer(app) http_server.bind((8888)) #生成端口 http_server.start() # 默认参数1 启动一个进程 # start(num) num<=0 按照当前os cpu核心数量 进行 进程启动 fork # num>1 表示通过fork 启动多个子进程 # 在启动IOLoop之前通过start函数设置进程数量,如果设置为0表示每个CPU都启动一个进程。 IOLoop.current().start()
if __name__ == '__main__': TornadoServer().handle()
标签:__,web,python,self,db,tornado,import 来源: https://www.cnblogs.com/jingshibilei/p/16185172.html