Serveur Bokeh: rappel périodique pour recharger les données de manière asynchrone?

Je voudrais planifier une tâche de blocage périodique dans mon serveur Bokeh, telle que pouvoir recharger les données si nécessaire (sans avoir à redémarrer le serveur).

Il existe des fonctions pour planifier des tâches périodiques, telles que add_periodic_callback , mais au niveau de la session (document) et non dans le code de l’application.

Comment cela peut-il être effectué au niveau du code de l’application? Je ne souhaite pas que chacune de mes sessions recharge les données, opération qui ne doit être effectuée qu’une fois pour toutes.

J’ai essayé d’utiliser un rappel périodique de tornade, mais je finis par avoir des conditions de course, comme décrit dans ce ticket: 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() 

Merci