Running dask-scheduler --no-dashboard still outputs a dashboard URL and runs a webserver.
What happened:
Execute the following command in a terminal:
dask-scheduler --no-dashboard
Output shows a dashboard URL in the last line:
distributed.scheduler - INFO - -----------------------------------------------
distributed.scheduler - INFO - -----------------------------------------------
distributed.scheduler - INFO - Clear task state
distributed.scheduler - INFO - Scheduler at: tcp://192.168.0.11:8786
distributed.scheduler - INFO - dashboard at: :8787
Going to localhost:8787 you get a 404
What you expected to happen:
I was expecting no dashboard URL to be shown in the output and no webserver to be started when using --no-dashboard.
Anything else we need to know?:
I have a possible fix ready with test, but I thought I would open an issue first, in case there was a good reason for this behaviour I may have missed. For now, I can two main options:
the behaviour is OK enough / not worth fixing. You could argue than having a webserver with a 404 may be more user-friendly than a generic browser page saying "Unable to connect" since the latter can happen for a variety of reasons
we don't want a dashboard url to be shown (or equivalently a 'dashboard' service in the scheduler) nor a webserver to be started (this is what I have implemented in my fix)
Another possible option:
make the 404 error more informative (similarly to what is happening when bokeh is not installed), e.g. something like "the full dashboard is not available, likely because you have used dashboard=False in your Dask scheduler" or dask-scheduler --no-dashboard
Edit: dask-worker --no-dashboard has a similar behaviour but this can be left for another issue / PR.
Environment:
Dask version: development version from main (also in version 2021.12.0 for completeness)
I don't know any historical reason why a webserver is started when the --no-dashboard is used. However, I like the third option of making the 404 more informative rather than not starting any webserver at all
Running
dask-scheduler --no-dashboard
still outputs a dashboard URL and runs a webserver.What happened:
Execute the following command in a terminal:
Output shows a dashboard URL in the last line:
Going to
localhost:8787
you get a 404What you expected to happen:
I was expecting no dashboard URL to be shown in the output and no webserver to be started when using
--no-dashboard
.Anything else we need to know?:
I have a possible fix ready with test, but I thought I would open an issue first, in case there was a good reason for this behaviour I may have missed. For now, I can two main options:
'dashboard'
service in the scheduler) nor a webserver to be started (this is what I have implemented in my fix)Another possible option:
dashboard=False
in your Dask scheduler" ordask-scheduler --no-dashboard
Edit:
dask-worker --no-dashboard
has a similar behaviour but this can be left for another issue / PR.Environment:
main
(also in version 2021.12.0 for completeness)