对于我的bokeh服务器应用程序,我对文档对象运行定期回调。不幸的是,定期回调具有对文档的循环引用,这似乎可以使所有内容保持活动状态。
避免这种情况的一种方法是检查Document对象是否仍在使用(有人仍在通过Web浏览器查看文档),然后显式删除循环引用。是否可以在某处获取有关文档是否仍然有效的信息?快速浏览文档和API并没有显示任何内容。
答案 0 :(得分:1)
有curdoc().session_context.session.destroyed
,但您的实际情况还不清楚。下面的代码永远不会输出True
,因为在销毁会话时回调将停止运行。您的问题将从MRE中受益。
from bokeh.io import curdoc
def cb():
print(curdoc().session_context.session.destroyed)
curdoc().add_periodic_callback(cb, 200)