一、主题:实时展示服务器端动态生成的日志文件
二、流程:
1. 客户端浏览器与服务器建立websocket 链接,服务器挂起保存链接实例,等待新内容触发返回动作
2. 日志服务器脚本循环去发现新内容,发现新行向 tornado等待API POST 发送新内容
3. tornado 处理器接收到新内容, 通过 websocket 向保存的客户端链接返回新行
4. 客户端浏览器接收到新内容,修饰,展示
三、代码:
1. tornado服务器url路由、基本页面handler 及 html:
#模块路径根据自身项目而定
(r'/logs/index/', 'apps.logs.handler.IndexHandler'),
(r'/logs/newlinesforcallbacker/', 'apps.logs.handler.WriteNewLinesHandler'),
(r'/logs/newlinesforserver/', 'apps.logs.handler.ReceiveNewLinesHandler'),
classIndexHandler(BaseHandler):'''主页'''
def get(self, *args, **kwargs):
self.render('logs/index.html')