Merge commit '47296980495f8bbfc9493e93de85dd62de6fa6b9' as 'paste-framework'
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"app_name": "Hello Paste",
|
||||
|
||||
"logger_desc": "用于日志输出的配置,各服务可以有自己的配置,但要使用独立配置时,必须编写额外代码",
|
||||
"logger": {
|
||||
"default": {
|
||||
"desc": "默认日志配置,该配置小节的名称已经配置在 PASTE 框架中",
|
||||
"basic": {
|
||||
"filename": "logs/root.log",
|
||||
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
||||
"level": 20
|
||||
},
|
||||
"filename": "logs/default.log",
|
||||
"name": "Demo",
|
||||
"max_bytes": 20971520,
|
||||
"backup_count": 40
|
||||
}
|
||||
},
|
||||
|
||||
"tornado_desc": "用于 Tornado 服务的配置,每一项后面允许设置多个服务",
|
||||
"tornado": {
|
||||
"demo": {
|
||||
"autoreload": false,
|
||||
"handlers_pkg": "examples.01_hello_world",
|
||||
"port": 9000,
|
||||
"static_path": "static",
|
||||
"template_path": "templates",
|
||||
"swagger_title": "DemoAPI",
|
||||
"swagger_description": "Demo API",
|
||||
"swagger_api_version": "1.0.1",
|
||||
"swagger_contact": "email@qq.com"
|
||||
}
|
||||
},
|
||||
|
||||
"version": "1.0.1"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
from paste.core.logging import echo_log
|
||||
from paste.web.decorators import route
|
||||
from paste.web.handler import RequestHandler
|
||||
|
||||
|
||||
@route("/hello")
|
||||
class HelloHandler(RequestHandler):
|
||||
"""
|
||||
演示一个请求。
|
||||
"""
|
||||
async def get(self):
|
||||
"""
|
||||
常规请求。
|
||||
"""
|
||||
echo_log(f"Received request!")
|
||||
self.response_ok(message="Hello from paste!")
|
||||
@@ -0,0 +1,20 @@
|
||||
from tornado.ioloop import IOLoop
|
||||
|
||||
from paste.core import config
|
||||
from paste.core.logging import set_logger_config
|
||||
from paste.web.application import Application
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 日志配置
|
||||
logger_config_name = 'logger.default'
|
||||
set_logger_config(logger_config_name)
|
||||
# 应用配置
|
||||
demo_config: dict = config.get_config('tornado.demo', {})
|
||||
port = config.get_config('tornado.demo.port', 9000)
|
||||
# 创建应用
|
||||
app = Application(**demo_config)
|
||||
app.listen(port)
|
||||
handlers_pkg = config.get_config('tornado.demo.handlers_pkg')
|
||||
print(f"App {handlers_pkg} is running at http://localhost:{port}")
|
||||
# 启动监听
|
||||
IOLoop.current().start()
|
||||
Reference in New Issue
Block a user