Bokeh server - принудительно refre sh число клиента перед возвратом обратного вызова - PullRequest
0 голосов
/ 14 апреля 2020

С сервером Bokeh, есть ли способ заставить цифру клиента переосмыслить sh на основе обновленных источников, частично через функцию обратного вызова? То есть функция обратного вызова еще не завершена, но я все равно хочу показать какое-то обновление.

В частности, у меня есть приложение, в котором пользователь нажимает несколько позиций на фигуре, а затем нажимает кнопку, чтобы предварительно сформировать алгоритм подбора данных. При нажатии кнопки сначала выполняется быстрая первоначальная подгонка, а затем происходит длительная подгонка (на отдельных рисунках). По умолчанию кажется, что первоначальная фигура соответствия не обновляется, как только источник обновляется, а обновляется только после завершения обратного вызова.

initial_fit_data_source = ColumnDataSource(...)
final_fit_data_source = ColumnDataSource(...)

def fitting_callback():
    ... # Perform quick initial fit.
    initial_fit_data_source.data['Fit'] = initial_fit

    # Here I want to update the client's initial fit figure.

    ... # Perform long fitting.
    final_fit_data_source.data['Fit'] = final_fit

Есть ли способ предварительно выполнить эту ссылку sh во время перезвонить?

1 Ответ

1 голос
/ 14 апреля 2020

Да. Боке может отправлять обновления документа только тогда, когда выполнение возвращается в событие l oop. Для этого вы можете либо использовать функции asyn c везде, либо заключить отдельные шаги в функции без параметров и передать их document.add_next_tick_callback. В любом случае, лучше также обернуть все блокирующие вычисления в потоки: https://docs.bokeh.org/en/latest/docs/user_guide/server.html#updating -из-потоков

...