dask / distributed

A distributed task scheduler for Dask
https://distributed.dask.org
BSD 3-Clause "New" or "Revised" License
1.58k stars 718 forks source link

Bokeh dashboard (when explicitly requested) needs to either error or display port #1985

Open stefanv opened 6 years ago

stefanv commented 6 years ago

I launch dask-scheduler as follows:

dask-scheduler --bokeh

and see

distributed.scheduler - INFO - -----------------------------------------------
distributed.scheduler - INFO - Clear task state
distributed.scheduler - INFO -   Scheduler at: tcp://10.142.155.162:8786
distributed.scheduler - INFO - Local Directory:    /tmp/scheduler-d8zsyupb
distributed.scheduler - INFO - -----------------------------------------------

Since I explicitly asked for the Bokeh console, it would be helpful if an error message could be displayed describing why it was not launched. Or was it launched? If so, I'd expect to see the port listed.

I have the same issue in the notebook: client = Client(); client displays the client information, but there is no mention of Bokeh, so I can only assume that it did not work.

``` In [5]: sys.version Out[5]: '3.6.3 (default, Oct 3 2017, 21:16:13) \n[GCC 7.2.0]' In [6]: dask.__version__ Out[6]: '0.17.5' In [7]: distributed.__version__ Out[7]: '1.21.8' In [8]: bokeh.__version__ Out[8]: '0.12.5' ```
mrocklin commented 6 years ago

Under normal operation the bokeh port will be displayed

mrocklin@carbon:~$ dask-scheduler 
distributed.scheduler - INFO - -----------------------------------------------
distributed.scheduler - INFO - Clear task state
distributed.scheduler - INFO -   Scheduler at: tcp://192.168.50.100:8786
distributed.scheduler - INFO -       bokeh at:                     :8787
distributed.scheduler - INFO - Local Directory:    /tmp/scheduler-zmzilj3t
distributed.scheduler - INFO - -----------------------------------------------

The fact that its not showing up means that an error occurred at some point. I agree with you that it would be nice for it to be displayed. This might have happened at two points:

When importing Bokeh

https://github.com/dask/distributed/blob/ed2adf554fc818ec8d4d5a6eac393dcd033e023c/distributed/cli/dask_scheduler.py#L119-L123

Or when starting it

https://github.com/dask/distributed/blob/ed2adf554fc818ec8d4d5a6eac393dcd033e023c/distributed/scheduler.py#L1012-L1021

In the first case you can see that we ignore the import error if it isn't found. In the second case we do log any errors. My guess is that you have some version mismatch. I recommend updating to a newer version of bokeh (yours is somewhat old).

mrocklin commented 6 years ago

Specifying explicit version requirements is tricky here because bokeh is optional, and so we tend to avoid listing it in setup.py

stefanv commented 6 years ago

Would it be possible to warn the user if Bokeh is outdated? These users (like me!) may very well not be aware that their system is lacking.

mrocklin commented 6 years ago

Yes, runtime requirements checks should be quite doable

On Sat, May 19, 2018 at 3:09 AM, Stefan van der Walt < notifications@github.com> wrote:

Would it be possible to warn the user if Bokeh is outdated? These users (like me!) may very well not be aware that their system is lacking.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/dask/distributed/issues/1985#issuecomment-390385431, or mute the thread https://github.com/notifications/unsubscribe-auth/AASszIip-vjSePy1GlxrWy_tWd2w3lmMks5tz8U4gaJpZM4UCMiR .

jakirkham commented 6 years ago

Would PR ( https://github.com/dask/distributed/pull/1720 ) help with this or was that something different?