Bokeh Server only allows one visit

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

``

All of these variables are various plots.

Next, I run my server with
bokeh --show main.py

``

The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,

Reuben

Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

···

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

TLDR: The page will only load properly in the original browser started up by the bokeh --show main.py command but not after.

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components

from bokeh.io import output_file, show, curdoc

from bokeh.layouts import column

from bokeh.models.widgets import Panel, Tabs

from bokeh.plotting import figure

from bokeh.resources import INLINE

from bokeh.util.string import encode_utf8

from Maestro import getAllPlots

import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)

tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)

tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)

tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])

tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])

tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

``

In addition version information:

Python27

Bokeh 0.12.1

···

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:

Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

All of these variables are various plots.

Next, I run my server with

bokeh --show main.py

The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,

Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

···

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from __future__ import print_function

from bokeh.embed import components
from bokeh.io import output_file, show, curdoc
from bokeh.layouts import column
from bokeh.models.widgets import Panel, Tabs
from bokeh.plotting import figure
from bokeh.resources import INLINE
from bokeh.util.string import encode_utf8

from Maestro import getAllPlots
import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title="Violin")
tabBarAll = Panel(child=barAll, title="Bar")

tabvioClin = Panel(child=vioClin, title="Violin")
tabBarClin = Panel(child=barClin, title="Bar")

tabvioCoh = Panel(child=vioCoh, title="Violin")
tabBarCoh = Panel(child=barCoh, title="Bar")

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27
Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

> On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:
>
> Hi all,
>
> I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,
>
> In my main.py I have
> curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> All of these variables are various plots.
>
> Next, I run my server with
> bokeh --show main.py
> The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.
>
> Does anyone know what might be happening here?
>
> Thank you,
> Reuben
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Additionally, is any of the work that the app does extensively blocking in nature? Is there a database call that could hang indefinitely? If the "work" hangs forever, that will prevent a page from loading, certainly.

Bryan

···

On Aug 9, 2016, at 2:41 PM, Bryan Van de Ven <[email protected]> wrote:

I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from __future__ import print_function

from bokeh.embed import components
from bokeh.io import output_file, show, curdoc
from bokeh.layouts import column
from bokeh.models.widgets import Panel, Tabs
from bokeh.plotting import figure
from bokeh.resources import INLINE
from bokeh.util.string import encode_utf8

from Maestro import getAllPlots
import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title="Violin")
tabBarAll = Panel(child=barAll, title="Bar")

tabvioClin = Panel(child=vioClin, title="Violin")
tabBarClin = Panel(child=barClin, title="Bar")

tabvioCoh = Panel(child=vioCoh, title="Violin")
tabBarCoh = Panel(child=barCoh, title="Bar")

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27
Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like

bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field ‘rgb(255, 255, 255)’, [object MessageEvent

``

A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms

2016-08-09 15:49:33,163 WebSocket connection opened

2016-08-09 15:49:33,163 ServerConnection created

``

However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at “waiting for localhost” after the initial load if I want to refresh or visit the page again.

Reuben

···

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:

I just opened 10 copies of examples/app/sliders.py without issue. It’s going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs [email protected] wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components

from bokeh.io import output_file, show, curdoc

from bokeh.layouts import column

from bokeh.models.widgets import Panel, Tabs

from bokeh.plotting import figure

from bokeh.resources import INLINE

from bokeh.util.string import encode_utf8

from Maestro import getAllPlots

import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)

tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)

tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)

tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])

tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])

tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27

Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:

Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

OK I think there may be a bug wrt to color values specified as "rgb(...)". That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.

Bryan

···

On Aug 9, 2016, at 2:56 PM, Reuben Jacobs <[email protected]> wrote:

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field 'rgb(255, 255, 255)', [object MessageEvent
A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
2016-08-09 15:49:33,163 WebSocket connection opened
2016-08-09 15:49:33,163 ServerConnection created
However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at "waiting for localhost" after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

> On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:
>
> Hi Bryan,
>
> My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.
>
> from __future__ import print_function
>
> from bokeh.embed import components
> from bokeh.io import output_file, show, curdoc
> from bokeh.layouts import column
> from bokeh.models.widgets import Panel, Tabs
> from bokeh.plotting import figure
> from bokeh.resources import INLINE
> from bokeh.util.string import encode_utf8
>
> from Maestro import getAllPlots
> import Maestro
>
>
> vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots
>
> tabvioAll = Panel(child=vioAll, title="Violin")
> tabBarAll = Panel(child=barAll, title="Bar")
>
> tabvioClin = Panel(child=vioClin, title="Violin")
> tabBarClin = Panel(child=barClin, title="Bar")
>
> tabvioCoh = Panel(child=vioCoh, title="Violin")
> tabBarCoh = Panel(child=barCoh, title="Bar")
>
>
> tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
> tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
> tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])
>
> curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
>
>
> In addition version information:
>
> Python27
> Bokeh 0.12.1
>
>
>
>
> On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
> Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.
>
> Thanks,
>
> Bryan
>
> > On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:
> >
> > Hi all,
> >
> > I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,
> >
> > In my main.py I have
> > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > All of these variables are various plots.
> >
> > Next, I run my server with
> > bokeh --show main.py
> > The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.
> >
> > Does anyone know what might be happening here?
> >
> > Thank you,
> > Reuben
> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > To post to this group, send email to [email protected].
> > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
> > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Actually, it seems like the page loading may be taking progressively longer and longer each time I reload the page potentially leading to timeouts. 70s the first load 120s if it works the second load. Thinking of ways for the data to not need to be fetched every time…

···

On Tuesday, August 9, 2016 at 3:56:32 PM UTC-4, Reuben Jacobs wrote:

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like

bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field ‘rgb(255, 255, 255)’, [object MessageEvent

``

A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms

2016-08-09 15:49:33,163 WebSocket connection opened

2016-08-09 15:49:33,163 ServerConnection created

``

However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at “waiting for localhost” after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:

I just opened 10 copies of examples/app/sliders.py without issue. It’s going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs [email protected] wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components

from bokeh.io import output_file, show, curdoc

from bokeh.layouts import column

from bokeh.models.widgets import Panel, Tabs

from bokeh.plotting import figure

from bokeh.resources import INLINE

from bokeh.util.string import encode_utf8

from Maestro import getAllPlots

import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)

tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)

tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)

tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])

tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])

tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27

Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:

Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

I’m under the impression that this information was not being refetched every time with Flask because the page visits beyond the initial load did not take nearly this long.

···

On Tuesday, August 9, 2016 at 4:00:02 PM UTC-4, Reuben Jacobs wrote:

Actually, it seems like the page loading may be taking progressively longer and longer each time I reload the page potentially leading to timeouts. 70s the first load 120s if it works the second load. Thinking of ways for the data to not need to be fetched every time…

On Tuesday, August 9, 2016 at 3:56:32 PM UTC-4, Reuben Jacobs wrote:

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like

bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field ‘rgb(255, 255, 255)’, [object MessageEvent

``

A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms

2016-08-09 15:49:33,163 WebSocket connection opened

2016-08-09 15:49:33,163 ServerConnection created

``

However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at “waiting for localhost” after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:

I just opened 10 copies of examples/app/sliders.py without issue. It’s going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs [email protected] wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components

from bokeh.io import output_file, show, curdoc

from bokeh.layouts import column

from bokeh.models.widgets import Panel, Tabs

from bokeh.plotting import figure

from bokeh.resources import INLINE

from bokeh.util.string import encode_utf8

from Maestro import getAllPlots

import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)

tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)

tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)

tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])

tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])

tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27

Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:

Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I’m not so sure the RGB is my issue.

···

On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:

OK I think there may be a bug wrt to color values specified as “rgb(…)”. That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.

Bryan

On Aug 9, 2016, at 2:56 PM, Reuben Jacobs [email protected] wrote:

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field ‘rgb(255, 255, 255)’, [object MessageEvent

A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms

2016-08-09 15:49:33,163 WebSocket connection opened

2016-08-09 15:49:33,163 ServerConnection created

However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at “waiting for localhost” after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:

I just opened 10 copies of examples/app/sliders.py without issue. It’s going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs [email protected] wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components
from bokeh.io import output_file, show, curdoc
from bokeh.layouts import column
from bokeh.models.widgets import Panel, Tabs
from bokeh.plotting import figure
from bokeh.resources import INLINE
from bokeh.util.string import encode_utf8

from Maestro import getAllPlots
import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)
tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)
tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)
tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27
Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Well, that error is definitely not a good one. Without knowing otherwise I would expect a protocol corruption to cause a complete failure. Can you say whether those errors appear on the first "working" page?

Bryan

···

On Aug 9, 2016, at 3:11 PM, Reuben Jacobs <[email protected]> wrote:

Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I'm not so sure the RGB is my issue.

On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:
OK I think there may be a bug wrt to color values specified as "rgb(...)". That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.

Bryan

> On Aug 9, 2016, at 2:56 PM, Reuben Jacobs <[email protected]> wrote:
>
> Bryan,
>
> The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit
>
> On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
> bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field 'rgb(255, 255, 255)', [object MessageEvent
> A bunch of others for different RGB values.
>
> On the first , working, page visit the bokeh server console log states
>
> 2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
> 2016-08-09 15:49:33,163 WebSocket connection opened
> 2016-08-09 15:49:33,163 ServerConnection created
> However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at "waiting for localhost" after the initial load if I want to refresh or visit the page again.
>
> Reuben
>
> On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
> I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?
>
> Thanks,
>
> Bryan
>
>
> > On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:
> >
> > Hi Bryan,
> >
> > My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.
> >
> > from __future__ import print_function
> >
> > from bokeh.embed import components
> > from bokeh.io import output_file, show, curdoc
> > from bokeh.layouts import column
> > from bokeh.models.widgets import Panel, Tabs
> > from bokeh.plotting import figure
> > from bokeh.resources import INLINE
> > from bokeh.util.string import encode_utf8
> >
> > from Maestro import getAllPlots
> > import Maestro
> >
> >
> > vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots
> >
> > tabvioAll = Panel(child=vioAll, title="Violin")
> > tabBarAll = Panel(child=barAll, title="Bar")
> >
> > tabvioClin = Panel(child=vioClin, title="Violin")
> > tabBarClin = Panel(child=barClin, title="Bar")
> >
> > tabvioCoh = Panel(child=vioCoh, title="Violin")
> > tabBarCoh = Panel(child=barCoh, title="Bar")
> >
> >
> > tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
> > tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
> > tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])
> >
> > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> >
> >
> > In addition version information:
> >
> > Python27
> > Bokeh 0.12.1
> >
> >
> >
> >
> > On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
> > Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.
> >
> > Thanks,
> >
> > Bryan
> >
> > > On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:
> > >
> > > Hi all,
> > >
> > > I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,
> > >
> > > In my main.py I have
> > > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > > All of these variables are various plots.
> > >
> > > Next, I run my server with
> > > bokeh --show main.py
> > > The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.
> > >
> > > Does anyone know what might be happening here?
> > >
> > > Thank you,
> > > Reuben
> > >
> > >
> > >
> > > --
> > > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > > To post to this group, send email to [email protected].
> > > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
> > > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > To post to this group, send email to [email protected].
> > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
> > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/5112b5cd-7a7b-4067-afe3-7b4f166b33e5%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Here are some useful resources to study along those lines:

  http://bokeh.pydata.org/en/latest/docs/user_guide/server.html#lifecycle-hooks

  http://bokeh.pydata.org/en/latest/docs/user_guide/server.html#updating-from-threads

  https://github.com/bokeh/bokeh/tree/master/examples/app/spectrogram

Thanks,

Bryan

···

On Aug 9, 2016, at 3:00 PM, Reuben Jacobs <[email protected]> wrote:

Actually, it seems like the page loading may be taking progressively longer and longer each time I reload the page potentially leading to timeouts. 70s the first load 120s if it works the second load. Thinking of ways for the data to not need to be fetched every time...

On Tuesday, August 9, 2016 at 3:56:32 PM UTC-4, Reuben Jacobs wrote:
Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field 'rgb(255, 255, 255)', [objectMessageEvent
A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
2016-08-09 15:49:33,163 WebSocket connection opened
2016-08-09 15:49:33,163 ServerConnection created
However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at "waiting for localhost" after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

> On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:
>
> Hi Bryan,
>
> My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.
>
> from __future__ import print_function
>
> from bokeh.embed import components
> from bokeh.io import output_file, show, curdoc
> from bokeh.layouts import column
> from bokeh.models.widgets import Panel, Tabs
> from bokeh.plotting import figure
> from bokeh.resources import INLINE
> from bokeh.util.string import encode_utf8
>
> from Maestro import getAllPlots
> import Maestro
>
>
> vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots
>
> tabvioAll = Panel(child=vioAll, title="Violin")
> tabBarAll = Panel(child=barAll, title="Bar")
>
> tabvioClin = Panel(child=vioClin, title="Violin")
> tabBarClin = Panel(child=barClin, title="Bar")
>
> tabvioCoh = Panel(child=vioCoh, title="Violin")
> tabBarCoh = Panel(child=barCoh, title="Bar")
>
>
> tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
> tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
> tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])
>
> curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
>
>
> In addition version information:
>
> Python27
> Bokeh 0.12.1
>
>
>
>
> On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
> Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.
>
> Thanks,
>
> Bryan
>
> > On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:
> >
> > Hi all,
> >
> > I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,
> >
> > In my main.py I have
> > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > All of these variables are various plots.
> >
> > Next, I run my server with
> > bokeh --show main.py
> > The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.
> >
> > Does anyone know what might be happening here?
> >
> > Thank you,
> > Reuben
> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > To post to this group, send email to [email protected].
> > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
> > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d390a9c0-ffbc-4414-9c9b-dbbe2505b428%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Yup, those errors appear on the first working page. The page actually loads if I try again, it just just takes 120 seconds (ridiculously long). The errors and speed issues do not appear when using a Flask server however.

···

On Tuesday, August 9, 2016 at 4:41:55 PM UTC-4, Bryan Van de ven wrote:

Well, that error is definitely not a good one. Without knowing otherwise I would expect a protocol corruption to cause a complete failure. Can you say whether those errors appear on the first “working” page?

Bryan

On Aug 9, 2016, at 3:11 PM, Reuben Jacobs [email protected] wrote:

Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I’m not so sure the RGB is my issue.

On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:

OK I think there may be a bug wrt to color values specified as “rgb(…)”. That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.

Bryan

On Aug 9, 2016, at 2:56 PM, Reuben Jacobs [email protected] wrote:

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field ‘rgb(255, 255, 255)’, [object MessageEvent
A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
2016-08-09 15:49:33,163 WebSocket connection opened
2016-08-09 15:49:33,163 ServerConnection created
However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at “waiting for localhost” after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
I just opened 10 copies of examples/app/sliders.py without issue. It’s going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs [email protected] wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components
from bokeh.io import output_file, show, curdoc
from bokeh.layouts import column
from bokeh.models.widgets import Panel, Tabs
from bokeh.plotting import figure
from bokeh.resources import INLINE
from bokeh.util.string import encode_utf8

from Maestro import getAllPlots
import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)
tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)
tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)
tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27
Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/5112b5cd-7a7b-4067-afe3-7b4f166b33e5%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

OK it sounds like the app is duplicating effort in some accumulative way. Unfortunately without seeing real code I can't speculate much further.

Bryan

···

On Aug 9, 2016, at 3:11 PM, Reuben Jacobs <[email protected]> wrote:

Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I'm not so sure the RGB is my issue.

On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:
OK I think there may be a bug wrt to color values specified as "rgb(...)". That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.

Bryan

> On Aug 9, 2016, at 2:56 PM, Reuben Jacobs <[email protected]> wrote:
>
> Bryan,
>
> The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit
>
> On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
> bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field 'rgb(255, 255, 255)', [object MessageEvent
> A bunch of others for different RGB values.
>
> On the first , working, page visit the bokeh server console log states
>
> 2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
> 2016-08-09 15:49:33,163 WebSocket connection opened
> 2016-08-09 15:49:33,163 ServerConnection created
> However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at "waiting for localhost" after the initial load if I want to refresh or visit the page again.
>
> Reuben
>
> On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
> I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?
>
> Thanks,
>
> Bryan
>
>
> > On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:
> >
> > Hi Bryan,
> >
> > My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.
> >
> > from __future__ import print_function
> >
> > from bokeh.embed import components
> > from bokeh.io import output_file, show, curdoc
> > from bokeh.layouts import column
> > from bokeh.models.widgets import Panel, Tabs
> > from bokeh.plotting import figure
> > from bokeh.resources import INLINE
> > from bokeh.util.string import encode_utf8
> >
> > from Maestro import getAllPlots
> > import Maestro
> >
> >
> > vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots
> >
> > tabvioAll = Panel(child=vioAll, title="Violin")
> > tabBarAll = Panel(child=barAll, title="Bar")
> >
> > tabvioClin = Panel(child=vioClin, title="Violin")
> > tabBarClin = Panel(child=barClin, title="Bar")
> >
> > tabvioCoh = Panel(child=vioCoh, title="Violin")
> > tabBarCoh = Panel(child=barCoh, title="Bar")
> >
> >
> > tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
> > tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
> > tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])
> >
> > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> >
> >
> > In addition version information:
> >
> > Python27
> > Bokeh 0.12.1
> >
> >
> >
> >
> > On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
> > Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.
> >
> > Thanks,
> >
> > Bryan
> >
> > > On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:
> > >
> > > Hi all,
> > >
> > > I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,
> > >
> > > In my main.py I have
> > > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > > All of these variables are various plots.
> > >
> > > Next, I run my server with
> > > bokeh --show main.py
> > > The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.
> > >
> > > Does anyone know what might be happening here?
> > >
> > > Thank you,
> > > Reuben
> > >
> > >
> > >
> > > --
> > > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > > To post to this group, send email to [email protected].
> > > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
> > > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > To post to this group, send email to [email protected].
> > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
> > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/5112b5cd-7a7b-4067-afe3-7b4f166b33e5%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Bryan,

I can provide some code for you just not the queries themselves.

Here is the method called to generate the plots

def getAllPlots():

Cool, Riker = removeChargebacksAndCollaborationData(CoolQuery, RikerQuery, CoolCols, RikerCols)

maestro = binCoolPathDataByWeek(Cool, vioCols)

maestro["Total Turnaround Time (Days)"][maestro["Total Turnaround Time (Days)"] > 100] = 101

stats, aggStats = Metronome(maestro, maestroCols)

violinDataAll = pd.merge(maestro, stats, how='left', on="Week of", sort=False, suffixes=('_x', '_y'), copy=True, indicator=False)

violinDataAll = violinDataAll.sort_values(by = "Signedout Datetime")

violinDataClin = violinDataAll[violinDataAll["Case Type"] == "Clinical"]

violinDataCoh = violinDataAll[violinDataAll["Case Type"] == "Profile"]

barTender, barTab, debt, barMaster = barRescue(Cool, Riker, maestro, barCols)

barMasterClin = barMaster[barMaster["caseType"] == "Clinical"]

barMasterCoh = barMaster[barMaster["caseType"] == "Profile"]

vioAll = createViolinPlot(violinDataAll, "All")

vioClin = createViolinPlot(violinDataClin, "Clinical")

vioCoh = createViolinPlot(violinDataCoh, "Cohort")

barAll = createBarGraph(barMaster, "All")

barClin = createBarGraph(barMasterClin, "Clinical")

barCoh = createBarGraph(barMasterCoh, "Cohort")

return vioAll, vioClin, vioCoh, barAll, barClin, barCoh

``

And then moving along the calls

def createViolinPlot(df, caseType):

sns.set_style(“whitegrid”)

ax = sns.violinplot(x=“Week of”, y=“Total Turnaround Time (Days)”,

data=df, palette=“muted”, split=False,

scale=“count”, inner=“box”, bw=0.1)

ax.set_title(“Total Turnaround Time for {} Cases Since July 1, 2015”.format(caseType))

#labels = ax.get_xticklabels()

v = mpl.to_bokeh()

v.plot_width = 1200

v.plot_height = 900

v.xaxis.major_label_orientation = pi/4

v.axis.major_label_standoff = 30

#def callback(source=df, window=None):

#beginSlider = Slider(start=0, end=10, value=1, step=.1, title=“Start Date”)

#endSlider = Slider(start=0, end=10, value=1, step=.1, title=“End Date”)

return v

``

···

On Tuesday, August 9, 2016 at 4:48:48 PM UTC-4, Bryan Van de ven wrote:

OK it sounds like the app is duplicating effort in some accumulative way. Unfortunately without seeing real code I can’t speculate much further.

Bryan

On Aug 9, 2016, at 3:11 PM, Reuben Jacobs [email protected] wrote:

Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I’m not so sure the RGB is my issue.

On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:

OK I think there may be a bug wrt to color values specified as “rgb(…)”. That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.

Bryan

On Aug 9, 2016, at 2:56 PM, Reuben Jacobs [email protected] wrote:

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field ‘rgb(255, 255, 255)’, [object MessageEvent
A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
2016-08-09 15:49:33,163 WebSocket connection opened
2016-08-09 15:49:33,163 ServerConnection created
However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at “waiting for localhost” after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
I just opened 10 copies of examples/app/sliders.py without issue. It’s going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs [email protected] wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components
from bokeh.io import output_file, show, curdoc
from bokeh.layouts import column
from bokeh.models.widgets import Panel, Tabs
from bokeh.plotting import figure
from bokeh.resources import INLINE
from bokeh.util.string import encode_utf8

from Maestro import getAllPlots
import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)
tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)
tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)
tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27
Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/5112b5cd-7a7b-4067-afe3-7b4f166b33e5%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

At this point, I would suggest some "printf" style debugging. Basically, instrument all these functions to print out when they run, and ideally to also print out how long they take to run (call time.time() at the beginning and end and print the diff)

Bryan

···

On Aug 9, 2016, at 3:56 PM, Reuben Jacobs <[email protected]> wrote:

Bryan,

I can provide some code for you just not the queries themselves.

Here is the method called to generate the plots

def getAllPlots():
  Cool, Riker = removeChargebacksAndCollaborationData(CoolQuery, RikerQuery, CoolCols, RikerCols)
  maestro = binCoolPathDataByWeek(Cool, vioCols)
  maestro["Total Turnaround Time (Days)"][maestro["Total Turnaround Time (Days)"] > 100] = 101
  stats, aggStats = Metronome(maestro, maestroCols)
  violinDataAll = pd.merge(maestro, stats, how='left', on="Week of", sort=False, suffixes=('_x', '_y'), copy=True, indicator=False)
  violinDataAll = violinDataAll.sort_values(by = "Signedout Datetime")
  violinDataClin = violinDataAll[violinDataAll["Case Type"] == "Clinical"]
  violinDataCoh = violinDataAll[violinDataAll["Case Type"] == "Profile"]
  barTender, barTab, debt, barMaster = barRescue(Cool, Riker, maestro, barCols)
  barMasterClin = barMaster[barMaster["caseType"] == "Clinical"]
  barMasterCoh = barMaster[barMaster["caseType"] == "Profile"]
  vioAll = createViolinPlot(violinDataAll, "All")
  vioClin = createViolinPlot(violinDataClin, "Clinical")
  vioCoh = createViolinPlot(violinDataCoh, "Cohort")
  barAll = createBarGraph(barMaster, "All")
  barClin = createBarGraph(barMasterClin, "Clinical")
  barCoh = createBarGraph(barMasterCoh, "Cohort")
  return vioAll, vioClin, vioCoh, barAll, barClin, barCoh

And then moving along the calls

def createViolinPlot(df, caseType):
    sns.set_style("whitegrid")
    
    ax = sns.violinplot(x="Week of", y="Total Turnaround Time (Days)",
                        data=df, palette="muted", split=False,
                        scale="count", inner="box", bw=0.1)
    ax.set_title("Total Turnaround Time for {} Cases Since July 1, 2015".format(caseType))
    #labels = ax.get_xticklabels()
    v = mpl.to_bokeh()
        
    v.plot_width = 1200
    v.plot_height = 900
    v.xaxis.major_label_orientation = pi/4
    v.axis.major_label_standoff = 30
    
    #def callback(source=df, window=None):
    #beginSlider = Slider(start=0, end=10, value=1, step=.1, title="Start Date")
    #endSlider = Slider(start=0, end=10, value=1, step=.1, title="End Date")
    
    return v

On Tuesday, August 9, 2016 at 4:48:48 PM UTC-4, Bryan Van de ven wrote:
OK it sounds like the app is duplicating effort in some accumulative way. Unfortunately without seeing real code I can't speculate much further.

Bryan

> On Aug 9, 2016, at 3:11 PM, Reuben Jacobs <[email protected]> wrote:
>
> Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I'm not so sure the RGB is my issue.
>
> On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:
> OK I think there may be a bug wrt to color values specified as "rgb(...)". That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.
>
> Bryan
>
> > On Aug 9, 2016, at 2:56 PM, Reuben Jacobs <[email protected]> wrote:
> >
> > Bryan,
> >
> > The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit
> >
> > On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
> > bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field 'rgb(255, 255, 255)', [object MessageEvent
> > A bunch of others for different RGB values.
> >
> > On the first , working, page visit the bokeh server console log states
> >
> > 2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
> > 2016-08-09 15:49:33,163 WebSocket connection opened
> > 2016-08-09 15:49:33,163 ServerConnection created
> > However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at "waiting for localhost" after the initial load if I want to refresh or visit the page again.
> >
> > Reuben
> >
> > On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
> > I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?
> >
> > Thanks,
> >
> > Bryan
> >
> >
> > > On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:
> > >
> > > Hi Bryan,
> > >
> > > My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.
> > >
> > > from __future__ import print_function
> > >
> > > from bokeh.embed import components
> > > from bokeh.io import output_file, show, curdoc
> > > from bokeh.layouts import column
> > > from bokeh.models.widgets import Panel, Tabs
> > > from bokeh.plotting import figure
> > > from bokeh.resources import INLINE
> > > from bokeh.util.string import encode_utf8
> > >
> > > from Maestro import getAllPlots
> > > import Maestro
> > >
> > >
> > > vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots
> > >
> > > tabvioAll = Panel(child=vioAll, title="Violin")
> > > tabBarAll = Panel(child=barAll, title="Bar")
> > >
> > > tabvioClin = Panel(child=vioClin, title="Violin")
> > > tabBarClin = Panel(child=barClin, title="Bar")
> > >
> > > tabvioCoh = Panel(child=vioCoh, title="Violin")
> > > tabBarCoh = Panel(child=barCoh, title="Bar")
> > >
> > >
> > > tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
> > > tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
> > > tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])
> > >
> > > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > >
> > >
> > > In addition version information:
> > >
> > > Python27
> > > Bokeh 0.12.1
> > >
> > >
> > >
> > >
> > > On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
> > > Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.
> > >
> > > Thanks,
> > >
> > > Bryan
> > >
> > > > On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:
> > > >
> > > > Hi all,
> > > >
> > > > I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,
> > > >
> > > > In my main.py I have
> > > > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > > > All of these variables are various plots.
> > > >
> > > > Next, I run my server with
> > > > bokeh --show main.py
> > > > The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.
> > > >
> > > > Does anyone know what might be happening here?
> > > >
> > > > Thank you,
> > > > Reuben
> > > >
> > > >
> > > >
> > > > --
> > > > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > > > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > > > To post to this group, send email to [email protected].
> > > > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
> > > > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
> > >
> > >
> > > --
> > > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > > To post to this group, send email to [email protected].
> > > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
> > > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > To post to this group, send email to [email protected].
> > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
> > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/5112b5cd-7a7b-4067-afe3-7b4f166b33e5%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/ae5f0417-4aae-4b00-b149-97a9dfd6eba8%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Thanks for the idea Bryan. I will try that tomorrow.

Hi Bryan,

So, from testing I have determined that this web app, when run with flask, is computing my bokeh charts on initial startup and simply serving them to me when I reload the page. However, with bokeh server it appears to be recomputing the charts every time I reload the page. Below you can see how I am starting the server with flask and then how I am doing it with bokeh server.

FLASK:

from future import print_function

import flask

from bokeh.embed import components

from bokeh.plotting import figure

from bokeh.resources import INLINE

from bokeh.util.string import encode_utf8

from bokeh.models.widgets import Panel, Tabs

from bokeh.io import output_file, show

import Maestro

from Maestro import getAllPlots

app = flask.Flask(name)

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots()

tabvioAll = Panel(child=vioAll, title=“Violin”)

tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)

tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)

tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])

tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])

tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

vioAllScript, vioAlldiv = components(vioAll, tabsAll, INLINE)

vioClinScript, vioClindiv = components(vioClin, tabsClin, INLINE)

vioCohScript, vioCohdiv = components(vioCoh, tabsCoh, INLINE)

barAllScript, barAlldiv = components(barAll, INLINE)

barClinScript, barClindiv = components(barClin, INLINE)

barCohScript, barCohdiv = components(barCoh, INLINE)

js_resources = INLINE.render_js()

css_resources = INLINE.render_css()

@app.route("/")

def Maestro():

print(“Maestro”)

Configure resources to include BokehJS inline in the document.

For more details see:

http://bokeh.pydata.org/en/latest/docs/reference/resources_embedding.html#bokeh-embed

For more details see:

http://bokeh.pydata.org/en/latest/docs/user_guide/embedding.html#components

html = flask.render_template(

‘embed.html’,

vioAll_script=vioAllScript,

vioClin_script=vioClinScript,

vioCoh_script=vioCohScript,

vioAll_div=vioAlldiv,

vioClin_div=vioClindiv,

vioCoh_div=vioCohdiv,

barAll_script=barAllScript,

barClin_script=barClinScript,

barCoh_script=barCohScript,

barAll_div=barAlldiv,

barClin_div=barClindiv,

barCoh_div=barCohdiv,

js_resources=js_resources,

css_resources=css_resources,

)

return encode_utf8(html)

if name == “main”:

print(doc)

app.run(debug=True, host=“0.0.0.0”,use_reloader=False)

``

BOKEH SERVER:

from future import print_function

from bokeh.io import output_file, show, curdoc

from bokeh.layouts import column

from bokeh.models.widgets import Panel, Tabs

from Maestro import getAllPlots

import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots()

tabvioAll = Panel(child=vioAll, title=“Violin”)

tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)

tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)

tabBarCoh = Panel(child=barCoh, title=“Bar”)

curdoc().add_root(column(vioAll))

``

The function getAllPlots() is the one used to compute the charts themselves. Any idea why this is happening, or is that the nature of these two servers?

···

On Tuesday, August 9, 2016 at 5:16:29 PM UTC-4, Bryan Van de ven wrote:

At this point, I would suggest some “printf” style debugging. Basically, instrument all these functions to print out when they run, and ideally to also print out how long they take to run (call time.time() at the beginning and end and print the diff)

Bryan

On Aug 9, 2016, at 3:56 PM, Reuben Jacobs [email protected] wrote:

Bryan,

I can provide some code for you just not the queries themselves.

Here is the method called to generate the plots

def getAllPlots():

    Cool, Riker = removeChargebacksAndCollaborationData(CoolQuery, RikerQuery, CoolCols, RikerCols)
    maestro = binCoolPathDataByWeek(Cool, vioCols)
    maestro["Total Turnaround Time (Days)"][maestro["Total Turnaround Time (Days)"] > 100] = 101
    stats, aggStats = Metronome(maestro, maestroCols)
    violinDataAll = pd.merge(maestro, stats, how='left', on="Week of", sort=False, suffixes=('_x', '_y'), copy=True, indicator=False)
    violinDataAll = violinDataAll.sort_values(by = "Signedout Datetime")
    violinDataClin = violinDataAll[violinDataAll["Case Type"] == "Clinical"]
    violinDataCoh = violinDataAll[violinDataAll["Case Type"] == "Profile"]
    barTender, barTab, debt, barMaster = barRescue(Cool, Riker, maestro, barCols)
    barMasterClin = barMaster[barMaster["caseType"] == "Clinical"]
    barMasterCoh = barMaster[barMaster["caseType"] == "Profile"]
    vioAll = createViolinPlot(violinDataAll, "All")
    vioClin = createViolinPlot(violinDataClin, "Clinical")
    vioCoh = createViolinPlot(violinDataCoh, "Cohort")
    barAll = createBarGraph(barMaster, "All")
    barClin = createBarGraph(barMasterClin, "Clinical")
    barCoh = createBarGraph(barMasterCoh, "Cohort")
    return vioAll, vioClin, vioCoh, barAll, barClin, barCoh

And then moving along the calls

def createViolinPlot(df, caseType):

sns.set_style("whitegrid")
ax = sns.violinplot(x="Week of", y="Total Turnaround Time (Days)",
                    data=df, palette="muted", split=False,
                    scale="count", inner="box", bw=0.1)
ax.set_title("Total Turnaround Time for {} Cases Since July 1, 2015".format(caseType))
#labels = ax.get_xticklabels()
v = mpl.to_bokeh()
v.plot_width = 1200
v.plot_height = 900
v.xaxis.major_label_orientation = pi/4
v.axis.major_label_standoff = 30
#def callback(source=df, window=None):
#beginSlider = Slider(start=0, end=10, value=1, step=.1, title="Start Date")
#endSlider = Slider(start=0, end=10, value=1, step=.1, title="End Date")
return v

On Tuesday, August 9, 2016 at 4:48:48 PM UTC-4, Bryan Van de ven wrote:

OK it sounds like the app is duplicating effort in some accumulative way. Unfortunately without seeing real code I can’t speculate much further.

Bryan

On Aug 9, 2016, at 3:11 PM, Reuben Jacobs [email protected] wrote:

Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I’m not so sure the RGB is my issue.

On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:
OK I think there may be a bug wrt to color values specified as “rgb(…)”. That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.

Bryan

On Aug 9, 2016, at 2:56 PM, Reuben Jacobs [email protected] wrote:

Bryan,

The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit

On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field ‘rgb(255, 255, 255)’, [object MessageEvent
A bunch of others for different RGB values.

On the first , working, page visit the bokeh server console log states

2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
2016-08-09 15:49:33,163 WebSocket connection opened
2016-08-09 15:49:33,163 ServerConnection created
However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at “waiting for localhost” after the initial load if I want to refresh or visit the page again.

Reuben

On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
I just opened 10 copies of examples/app/sliders.py without issue. It’s going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?

Thanks,

Bryan

On Aug 9, 2016, at 2:37 PM, Reuben Jacobs [email protected] wrote:

Hi Bryan,

My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.

from future import print_function

from bokeh.embed import components
from bokeh.io import output_file, show, curdoc
from bokeh.layouts import column
from bokeh.models.widgets import Panel, Tabs
from bokeh.plotting import figure
from bokeh.resources import INLINE
from bokeh.util.string import encode_utf8

from Maestro import getAllPlots
import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots

tabvioAll = Panel(child=vioAll, title=“Violin”)
tabBarAll = Panel(child=barAll, title=“Bar”)

tabvioClin = Panel(child=vioClin, title=“Violin”)
tabBarClin = Panel(child=barClin, title=“Bar”)

tabvioCoh = Panel(child=vioCoh, title=“Violin”)
tabBarCoh = Panel(child=barCoh, title=“Bar”)

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))

In addition version information:

Python27
Bokeh 0.12.1

On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
Can you provide runnable example code to reproduce the problem? It’s hard to speculate without code to run. Additionally version and platform information.

Thanks,

Bryan

On Aug 9, 2016, at 2:29 PM, Reuben Jacobs [email protected] wrote:

Hi all,

I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,

In my main.py I have
curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
All of these variables are various plots.

Next, I run my server with
bokeh --show main.py
The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.

Does anyone know what might be happening here?

Thank you,
Reuben


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/5112b5cd-7a7b-4067-afe3-7b4f166b33e5%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/ae5f0417-4aae-4b00-b149-97a9dfd6eba8%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Reuben,

This is exactly the way the bokeh server functions. The "app code" is re-run every single session, to create a new, unique set of new bokeh models to support that session. If the app code is doing something expensive, but that really only needs to be run once, then you can refer to some of the links I sent earlier about lifecycle hooks, etc. to perform the expensive work once, on initial server startup, and then share the results between sessions without re-computing. However, this kind of sharing is only suitable for non-Bokeh models, i.e. "plain data". Every session needs to create new plots, tools, column data sources, etc. The alternative would be "google doc" type sharing where one person moves a slider and everyone else has their page update too. The spectrogram example I also linked is an example of this.

If the work is expensive, and needs to happen every session (because the computations or whatever are different every time), there's probably not much to do. You could up the value of --num-threads, tho I don't think that would really help in such a situation. I would like to add some messages to signal "busy / working" during long running callbacks, so that some visual cue can be given when blocking work is happening, but those do not exist yet.

Thanks,

Bryan

···

On Aug 10, 2016, at 9:26 AM, Reuben Jacobs <[email protected]> wrote:

Hi Bryan,

So, from testing I have determined that this web app, when run with flask, is computing my bokeh charts on initial startup and simply serving them to me when I reload the page. However, with bokeh server it appears to be recomputing the charts every time I reload the page. Below you can see how I am starting the server with flask and then how I am doing it with bokeh server.

FLASK:

from __future__ import print_function

import flask

from bokeh.embed import components
from bokeh.plotting import figure
from bokeh.resources import INLINE
from bokeh.util.string import encode_utf8
from bokeh.models.widgets import Panel, Tabs
from bokeh.io import output_file, show

import Maestro
from Maestro import getAllPlots

app = flask.Flask(__name__)

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots()

tabvioAll = Panel(child=vioAll, title="Violin")
tabBarAll = Panel(child=barAll, title="Bar")

tabvioClin = Panel(child=vioClin, title="Violin")
tabBarClin = Panel(child=barClin, title="Bar")

tabvioCoh = Panel(child=vioCoh, title="Violin")
tabBarCoh = Panel(child=barCoh, title="Bar")

tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])

vioAllScript, vioAlldiv = components(vioAll, tabsAll, INLINE)
vioClinScript, vioClindiv = components(vioClin, tabsClin, INLINE)
vioCohScript, vioCohdiv = components(vioCoh, tabsCoh, INLINE)
barAllScript, barAlldiv = components(barAll, INLINE)
barClinScript, barClindiv = components(barClin, INLINE)
barCohScript, barCohdiv = components(barCoh, INLINE)

js_resources = INLINE.render_js()
css_resources = INLINE.render_css()

@app.route("/")
def Maestro():
    print("Maestro")
    # Configure resources to include BokehJS inline in the document.
    # For more details see:
    # http://bokeh.pydata.org/en/latest/docs/reference/resources_embedding.html#bokeh-embed

    # For more details see:
    # http://bokeh.pydata.org/en/latest/docs/user_guide/embedding.html#components

    html = flask.render_template(
        'embed.html',
        vioAll_script=vioAllScript,
        vioClin_script=vioClinScript,
        vioCoh_script=vioCohScript,
        vioAll_div=vioAlldiv,
        vioClin_div=vioClindiv,
        vioCoh_div=vioCohdiv,
        barAll_script=barAllScript,
        barClin_script=barClinScript,
        barCoh_script=barCohScript,
        barAll_div=barAlldiv,
        barClin_div=barClindiv,
        barCoh_div=barCohdiv,
        js_resources=js_resources,
        css_resources=css_resources,
    )

    return encode_utf8(html)

if __name__ == "__main__":
    print(__doc__)
    app.run(debug=True, host="0.0.0.0",use_reloader=False)

BOKEH SERVER:

from __future__ import print_function

from bokeh.io import output_file, show, curdoc
from bokeh.layouts import column
from bokeh.models.widgets import Panel, Tabs

from Maestro import getAllPlots
import Maestro

vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots()

tabvioAll = Panel(child=vioAll, title="Violin")
tabBarAll = Panel(child=barAll, title="Bar")

tabvioClin = Panel(child=vioClin, title="Violin")
tabBarClin = Panel(child=barClin, title="Bar")

tabvioCoh = Panel(child=vioCoh, title="Violin")
tabBarCoh = Panel(child=barCoh, title="Bar")

curdoc().add_root(column(vioAll))

The function getAllPlots() is the one used to compute the charts themselves. Any idea why this is happening, or is that the nature of these two servers?

On Tuesday, August 9, 2016 at 5:16:29 PM UTC-4, Bryan Van de ven wrote:
At this point, I would suggest some "printf" style debugging. Basically, instrument all these functions to print out when they run, and ideally to also print out how long they take to run (call time.time() at the beginning and end and print the diff)

Bryan

> On Aug 9, 2016, at 3:56 PM, Reuben Jacobs <[email protected]> wrote:
>
> Bryan,
>
> I can provide some code for you just not the queries themselves.
>
> Here is the method called to generate the plots
>
> def getAllPlots():
> Cool, Riker = removeChargebacksAndCollaborationData(CoolQuery, RikerQuery, CoolCols, RikerCols)
> maestro = binCoolPathDataByWeek(Cool, vioCols)
> maestro["Total Turnaround Time (Days)"][maestro["Total Turnaround Time (Days)"] > 100] = 101
> stats, aggStats = Metronome(maestro, maestroCols)
> violinDataAll = pd.merge(maestro, stats, how='left', on="Week of", sort=False, suffixes=('_x', '_y'), copy=True, indicator=False)
> violinDataAll = violinDataAll.sort_values(by = "Signedout Datetime")
> violinDataClin = violinDataAll[violinDataAll["Case Type"] == "Clinical"]
> violinDataCoh = violinDataAll[violinDataAll["Case Type"] == "Profile"]
> barTender, barTab, debt, barMaster = barRescue(Cool, Riker, maestro, barCols)
> barMasterClin = barMaster[barMaster["caseType"] == "Clinical"]
> barMasterCoh = barMaster[barMaster["caseType"] == "Profile"]
> vioAll = createViolinPlot(violinDataAll, "All")
> vioClin = createViolinPlot(violinDataClin, "Clinical")
> vioCoh = createViolinPlot(violinDataCoh, "Cohort")
> barAll = createBarGraph(barMaster, "All")
> barClin = createBarGraph(barMasterClin, "Clinical")
> barCoh = createBarGraph(barMasterCoh, "Cohort")
> return vioAll, vioClin, vioCoh, barAll, barClin, barCoh
>
> And then moving along the calls
>
> def createViolinPlot(df, caseType):
> sns.set_style("whitegrid")
>
> ax = sns.violinplot(x="Week of", y="Total Turnaround Time (Days)",
> data=df, palette="muted", split=False,
> scale="count", inner="box", bw=0.1)
> ax.set_title("Total Turnaround Time for {} Cases Since July 1, 2015".format(caseType))
> #labels = ax.get_xticklabels()
> v = mpl.to_bokeh()
>
> v.plot_width = 1200
> v.plot_height = 900
> v.xaxis.major_label_orientation = pi/4
> v.axis.major_label_standoff = 30
>
> #def callback(source=df, window=None):
> #beginSlider = Slider(start=0, end=10, value=1, step=.1, title="Start Date")
> #endSlider = Slider(start=0, end=10, value=1, step=.1, title="End Date")
>
> return v
>
>
>
> On Tuesday, August 9, 2016 at 4:48:48 PM UTC-4, Bryan Van de ven wrote:
> OK it sounds like the app is duplicating effort in some accumulative way. Unfortunately without seeing real code I can't speculate much further.
>
> Bryan
>
> > On Aug 9, 2016, at 3:11 PM, Reuben Jacobs <[email protected]> wrote:
> >
> > Not generating colors anywhere. The page loads much faster with Flask (but serves MB vs KB with bokeh server) without any console errors just checked. I'm not so sure the RGB is my issue.
> >
> > On Tuesday, August 9, 2016 at 3:58:51 PM UTC-4, Bryan Van de ven wrote:
> > OK I think there may be a bug wrt to color values specified as "rgb(...)". That seems vaguely familiar. So the next question is then: are you generating color values that way somewhere? If not they must be coming out of the mpl compat layer somewhere.
> >
> > Bryan
> >
> > > On Aug 9, 2016, at 2:56 PM, Reuben Jacobs <[email protected]> wrote:
> > >
> > > Bryan,
> > >
> > > The database calls definitely do not hang indefinitely. I was using Flask to run this on server earlier today and there were no issues with reloading the page. In addition, the page finishes loading the first visit
> > >
> > > On the first load of the page (where the plots) load fine there are a lot of JS errors that look the same like
> > > bokeh.min.js:67 Bokeh: Error handling message: Error: attempted to retrieve property array for nonexistent field 'rgb(255, 255, 255)', [object MessageEvent
> > > A bunch of others for different RGB values.
> > >
> > > On the first , working, page visit the bokeh server console log states
> > >
> > > 2016-08-09 15:49:32,653 200 GET /Tenacity (::1) 72721.00ms
> > > 2016-08-09 15:49:33,163 WebSocket connection opened
> > > 2016-08-09 15:49:33,163 ServerConnection created
> > > However, if I try to refresh the page there is no mention of a request in the server log console and nothing mentioned in the JS console. Any refreshes or page visits after the initial load remain pending in the JS console network tab. It seems to sit at "waiting for localhost" after the initial load if I want to refresh or visit the page again.
> > >
> > > Reuben
> > >
> > > On Tuesday, August 9, 2016 at 3:41:28 PM UTC-4, Bryan Van de ven wrote:
> > > I just opened 10 copies of examples/app/sliders.py without issue. It's going to be difficult to diagnose this without code to run, or more information. Is there any output in the console log from the server? What about in the broswer JavaScript console?
> > >
> > > Thanks,
> > >
> > > Bryan
> > >
> > >
> > > > On Aug 9, 2016, at 2:37 PM, Reuben Jacobs <[email protected]> wrote:
> > > >
> > > > Hi Bryan,
> > > >
> > > > My code to build the plots themselves is complex and uses company database queries so I can not provide that. However, they do open fine on the first opened browser and below is the code that I am using as the wrapper.
> > > >
> > > > from __future__ import print_function
> > > >
> > > > from bokeh.embed import components
> > > > from bokeh.io import output_file, show, curdoc
> > > > from bokeh.layouts import column
> > > > from bokeh.models.widgets import Panel, Tabs
> > > > from bokeh.plotting import figure
> > > > from bokeh.resources import INLINE
> > > > from bokeh.util.string import encode_utf8
> > > >
> > > > from Maestro import getAllPlots
> > > > import Maestro
> > > >
> > > >
> > > > vioAll, vioClin, vioCoh, barAll, barClin, barCoh = getAllPlots() #this is my project method that builds violin plots
> > > >
> > > > tabvioAll = Panel(child=vioAll, title="Violin")
> > > > tabBarAll = Panel(child=barAll, title="Bar")
> > > >
> > > > tabvioClin = Panel(child=vioClin, title="Violin")
> > > > tabBarClin = Panel(child=barClin, title="Bar")
> > > >
> > > > tabvioCoh = Panel(child=vioCoh, title="Violin")
> > > > tabBarCoh = Panel(child=barCoh, title="Bar")
> > > >
> > > >
> > > > tabsAll = Tabs(tabs=[ tabvioAll, tabBarAll ])
> > > > tabsClin = Tabs(tabs=[ tabvioClin, tabBarClin ])
> > > > tabsCoh = Tabs(tabs=[ tabvioCoh, tabBarCoh ])
> > > >
> > > > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > > >
> > > >
> > > > In addition version information:
> > > >
> > > > Python27
> > > > Bokeh 0.12.1
> > > >
> > > >
> > > >
> > > >
> > > > On Tuesday, August 9, 2016 at 3:30:38 PM UTC-4, Bryan Van de ven wrote:
> > > > Can you provide runnable example code to reproduce the problem? It's hard to speculate without code to run. Additionally version and platform information.
> > > >
> > > > Thanks,
> > > >
> > > > Bryan
> > > >
> > > > > On Aug 9, 2016, at 2:29 PM, Reuben Jacobs <[email protected]> wrote:
> > > > >
> > > > > Hi all,
> > > > >
> > > > > I just created a Bokeh Server, but I seem to only be able to connect to it once. More specifically,
> > > > >
> > > > > In my main.py I have
> > > > > curdoc().add_root(column(vioAll, vioClin, vioCoh, barAll, barClin, barCoh))
> > > > > All of these variables are various plots.
> > > > >
> > > > > Next, I run my server with
> > > > > bokeh --show main.py
> > > > > The server takes a long time to load but that is to be expected with the number of calculations I am doing. If I wait for the browser to load (the one that was started up by the --show) it will load. However, if I close that tab and navigate to the correct localhost URL after the server has started, the page will not load.
> > > > >
> > > > > Does anyone know what might be happening here?
> > > > >
> > > > > Thank you,
> > > > > Reuben
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > > > > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > > > > To post to this group, send email to [email protected].
> > > > > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2c951418-02e0-48bc-8d4d-0ebe5c1ad4ca%40continuum.io.
> > > > > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
> > > >
> > > >
> > > > --
> > > > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > > > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > > > To post to this group, send email to [email protected].
> > > > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8e006c64-128f-4c3e-bf3d-20b267ce0d22%40continuum.io.
> > > > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
> > >
> > >
> > > --
> > > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > > To post to this group, send email to [email protected].
> > > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d46435e6-8018-4de8-b4e0-4ff250e067cd%40continuum.io.
> > > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> > To post to this group, send email to [email protected].
> > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/5112b5cd-7a7b-4067-afe3-7b4f166b33e5%40continuum.io.
> > For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/ae5f0417-4aae-4b00-b149-97a9dfd6eba8%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/cb0a23fa-5e68-4313-b141-524e108d8e13%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.