Bokeh服务器:定期回调以异步重新加载数据?

2024-04-25 14:31:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的Bokeh服务器上安排一个周期性的非阻塞性任务,比如在必要时能够重新加载数据(不必重新启动服务器)。在

有一些函数可以安排周期性任务,例如^{},但是它是在会话级别(文档)中,而不是在应用程序代码中。在

如何在应用程序代码级别执行此操作?我不想让我的每个会话都重新加载数据,这种操作只需要一次性完成。在

我尝试使用tornado周期性回调,但最终出现了竞态条件,如这张罚单所述:https://github.com/bokeh/bokeh/issues/4000

# example of bad code using Tornado, which creates race condition

...
# see below: my_func_to_reload_data_async() is used to reload data asynchronously

bokeh_server.start()
from tornado.ioloop import PeriodicCallback
pcallback = PeriodicCallback(my_func_to_reload_data_async, 3000, io_loop=bokeh_server.io_loop)
pcallback.start()
bokeh_server.io_loop.start()

谢谢


Tags: to数据io服务器loopdataservermy