Asynchronous multiple application deployment

First of all, thanks a lot for the bokeh developers and the community. I have found bokeh to be quite a useful tools.

I have developed several applications and each of them is an interactive plot with following features:

  1. Customized input. User can type in some parameters to change the figure being plotted. For example the start date and end date for a time series data.

2: Real time updating. Some apps are displaying some data from a real time data source. The way I did it is to add a periodic callback to the doc.


The applications are written in 3 python files contained in 3 folders: app1/, app2/, app3/ Then I have a new python file called with following code.

from bokeh.server.server import Server

from app1 import app1

from app2 import app2

from app3 import app3

server = Server({’/app1’: app1.app1, ‘/app2’: app2.app2 ‘/app3’: app3.app3}, io_loop=IOLoop(), allow_websocket_origin=[“my_websocket_origin”])




Then I run it with “python”, go to my_websocket_origin in browser I will see a list of apps.

Following are the problems I encountered with:

  1. If I open all the apps in the same time. First, it will take a long time to show all the apps in the webpage. Second, the

  2. I have one app which download some data(takes around 20s) upon opening it. If I open this app first, all the other apps open after it will not run until the downloading finished for the first app.

Based on these observation. I guess when publish multiple apps using the way I did, the whole process is not asynchronous. I am wondering is there a way to deploy multiple applications so that all the applications can be run concurrently?

Thanks in advance for all the help.