我们的仪表板有三个相对需要数据的图:
- 两个图像图(200x200x3)
- 自定义扩展工具图 (200x200x4)。
我们从 s '更新'(发送数据到)它们doc.add_next_tick_callback
。我们遇到了一个奇怪的情况,即image
绘图似乎工作了一秒钟,然后出现了一条 websocket 消息,该消息清除了缓冲区中的所有内容。
我们跟踪了前端和后端,似乎:
- 前端使用空缓冲区初始化(好)
- 前端发送带有空缓冲区的 PATCH-DOC
- 与此同时,实际数据更新从服务器到达(这使得图像工作瞬间)
- 最后,空的 PATCH-DOC 被 ping 回前端重置我们的数据。
我们广泛阅读了前端代码库,发现当我们删除
this.send(patch_message)
从connection.ts
第 166 行开始,我们的问题就消失了。
什么可能导致这种 ping/pong 行为?
这可能是一个错误还是我们做错了什么?
在 Bokeh 版本 1.0.4 上测试