На моем сервере bokeh подсчет времени выполняется при нажатии кнопки. Во время расчета я хочу покрасить кнопку в красный цвет и изменить метку на «Анализ в процессе». Это хорошо работает с приведенным ниже сценарием на моем ноутбуке. Однако тот же сценарий не работает так, как исключено, когда я использую рабочий стол, которым владею как сервер. При запуске сценария на этом сервере сначала выполняется расчет, а затем только на мгновение кнопка становится красной, а затем сразу же снова зеленой.
Упрощенный сценарий:
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)
Мой ноутбук:
- python 3,6
- боке 1,4,0
- Процессор Intel (R) Xeon (R) E3-1575M v5 3,00 ГГц, 32,0 ГБ ОЗУ
- 64-бит Windows 10
Мой рабочий стол:
- python 3.7
- боке 1.4.0
- Процессор Intel (R) Xeon® R-2174G @ 3,80 ГГц, 16,0 ГБ ОЗУ
- 64-бит Windows 10
Я протестировал в обоих Chrome, Edge и IE11. Кроме того, при посещении сервера на моем рабочем столе с моего ноутбука я замечаю ту же проблему. Следовательно, я считаю, что это проблема на стороне сервера.
Ваша гипотеза по этому поводу приветствуется, а также альтернативы о том, как сигнализировать о работе.
(вы запускаете скрипт в cmd по: bokeh serve button.py --show
)