核心代码: @accept_websocket def get_log(req): if req.is_websocket(): print('收到websocket请求') with open(settings.LOG_FILE, 'r', encoding='UTF-8') as f: log_length = len(f.readlines()) time.sleep(1) while True: with open(settings.LOG_FILE, 'r', encoding='UT
前言: It has been a while since I last updated my blogs. 使用Tornado开发一个实时监控信息系统,其中包括 CUP.内存.网卡.磁盘使用率. 涉及技术 编程语言:Python 关系型数据库:MySQL Web框架:Tornado 数据库连接驱动:mysql-connector-python 数据库ORM:sqlalchemy 服务端websocket通信:sockjs-tornado 客户端websocket通信:sockejs-clien
古怪的需求 在实习的公司碰到一个古怪的需求:在一台服务器上写日志文件,每当日志文件写到一定大小时,比如是1G,会将这个日志文件改名成另一个名字,并新建一个与原文件名相同的日志文件,再往这个新建的日志文件里写数据:要求写一个程序能实时地读取日志文件中的内容,并且不能影响写操作与重命名操作. RandomAccessFile类中seek方法可以从指定位置读取文件,可以用来实现文件实时读取.JDK文档对RandomAccessFile的介绍 Instances of this class suppor