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:
- 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.
Operatin
The applications are written in 3 python files contained in 3 folders: app1/app1.py, app2/app2.py, app3/app3.py. Then I have a new python file called main.py 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”])
server.start()
server.run_until_shutdown()
server.io_loop.start()
Then I run it with “python main.py”, go to my_websocket_origin in browser I will see a list of apps.
Following are the problems I encountered with:
-
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
-
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.