tornado框架的简单实用

一.安装模块

pip3 install tornado

二.简单的起服务的方法

复制import json, datetime
from tornado.web import RequestHandler, Application
from tornado.ioloop import IOLoop
from tornado.httpserver import HTTPServer
from tornado.options import define, options
from tornado.concurrent import run_on_executor
from concurrent.futures import ThreadPoolExecutor
import tornado.gen

# 定义全局变量
define("port", default=9631)


class getTest(RequestHandler):
    executor = ThreadPoolExecutor(200)  #200连接数
    @run_on_executor #并发
    def get(self):
        # logDebug("shoppingCart","get:test请求成功")
        return self.write(json.dumps({"code": 200, "message": "请求成功"}, ensure_ascii=False))


class MainHandler(tornado.web.RequestHandler):
    @tornado.gen.coroutine
    def head(self, *args, **kwargs):
        self.write((json.dumps({"Test": "Success"})))


if __name__ == '__main__':
    options.parse_command_line()
    # 创建一个项目应用,接入web服务器
    app = Application([
        (r"/test", getTest),  # 路由名称  ,getTest 类名
        (r"/checkhead", MainHandler),  # 健康监测一般公司都要加的哦,写法也是固定的

    ],
        # 也就是需要保证在fork子进程之前IOLoop是未被初始化的。
        # autoreload=False,
        # debug=False,
        settings={
        }
    )
    print('%s--tornado服务启动' % datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
    # 开始监听端口,提供服务
    http_server = HTTPServer(app)
    http_server.bind((options.port))
    http_server.start()  # 默认参数1 启动一个进程
    # start(num) num<=0 按照当前os cpu核心数量 进行 进程启动 fork
    # num>1 表示通过fork 启动多个子进程
    # 在启动IOLoop之前通过start函数设置进程数量,如果设置为0表示每个CPU都启动一个进程。

    IOLoop.current().start()
posted @   小小咸鱼YwY  阅读(510)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理

目录导航

点击右上角即可分享
微信分享提示