Python 将后台日志实时同步到前端
针对这个需求,网上有说后台生成文件,前端用 ajax 来 fetch ,不过我没有试过。我是尝试 websocket 来实现,参考了http://www.cnblogs.com/hhh5460/p/7397006.html/
- 一次失败的尝试
- tornado 实现网站,并且用 tornado 原生支持的 websocket实现推送;
- tornado 实现网站
- tornado 实现 websocketHandler,在里边重写 open 函数,在open函数里边一个死循环监听队列,队列有信心就输出队列信息
- 前端页面加载的时候建立连接。
- 这样倒是能把已经放在队列的信息输出,但是输出之后一直在那个循环,tornado是基于 epoll 的单线程模型实现,导致其他请求都无法进入。
- tornado 实现网站,并且用 tornado 原生支持的 websocket实现推送;
- Flask + Flask socketIO + 全局队列
- Flask 实现网站接口,这里不多说
- Flask socketIO 实现websocket
from threading import Lock from flask import Flask, render_template, request from flask_socketio import SocketIO from Service import nlu_test import logF async_mode = None app