散景服务器:回调执行顺序



在我的散景服务器上,单击按钮即可完成耗时的计算。在计算期间,我想将按钮着色为红色并将标签更改为"正在进行分析"。这适用于我笔记本电脑上的以下脚本。但是,完全相同的脚本无法正常工作,除非我使用我拥有的桌面作为服务器。当首先在该服务器上运行脚本时,计算完成,然后按钮仅在一瞬间变为红色,然后立即变为绿色。

简化的脚本:

from bokeh.models import Button
from bokeh.io import curdoc
import time
def callback():
button.button_type="danger"#signal work in progress via the button style
button.label="Analysis in progress, please wait.."
time.sleep(3)#or do some computation that takes time
button.button_type="success"#signal the analysis is done via the button style
button.label="Analysis Done"
button = Button(label='Analyze',button_type="success", width=500)
button.on_click(callback)
curdoc().add_root(button)

我的笔记本电脑:

  • 蟒蛇 3.6
  • 散景 1.4.0
  • 英特尔® 至强® CPU E3-1575M v5 3.00GHz, 32.0GB 内存
  • 64 位视窗 10

我的桌面:

  • 蟒蛇 3.7
  • 散景 1.4.0
  • 英特尔® 至强® E-2174G CPU @ 3.80GHz, 16.0GB 内存
  • 64 位视窗 10

我已经在Chrome,Edge和IE11中进行了测试。另外,从笔记本电脑访问台式机上的服务器时,我注意到了同样的问题。因此,我认为这是一个服务器端问题。

感谢您对此的假设,以及如何发出正在进行的工作的信号的替代方案。

(您通过以下方式在 cmd 中运行脚本:bokeh serve button.py --show(

散景取决于龙卷风。在两台PC上,龙卷风版本都不同。将龙卷风版本从 6.0.2 降级到 5.0.2 解决了这个问题。

pip install tornado==5.0.2

最新更新