最近有一个小场景,利用websocket想browser实时输出日志,后端利用 Apache Tailer 监控文件变化,当有新内容时,实时想前端推送,由于推送过于频繁, 浏览器端出现假死的现象。模拟代码如下,Apache Tailer 每读取一行,就会调用一次MyListener的handle方法。
1 | public class TailFilePlay { |
考虑做一个buffer,每隔一段时间,积累一些日之后,向前端输出日志。
1 | public class TailFilePlay { |
虽然写了一坨代码,真正核心的代码就如下一句:
1 | // 三秒钟输出一次日志 |