-
Notifications
You must be signed in to change notification settings - Fork 35
Use Dask instead of multiprocessing module #530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
027c090 to
ece6ccc
Compare
|
Kicking CI |
12993c1 to
d753850
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looking good, just a couple of small non-blocking comments.
| """ | ||
| Placeholder method for a cleanup code to run when the server is stopping. | ||
| """ | ||
| pass |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to keep this method if it does nothing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. BaseScheduler is a base class / klass for schedulers, essentially an interface for all schedulers instantiated and used by SchedulerApp. BaseScheduler.stop_extension creates a placeholder for scheduler cleanup / stop_extension logic that is called from SchedulerApp.stop_extension.
SchedulerApp.stop_extension is a public method inherited from ExtensionApp called by Jupyter Server when the server is stopping.
I implemented stop_extension in default Scheduler in Scheduler.stop_extension to correctly terminate Dask and avoid JupyterLab process not shutting down immediately on interrupt as for example we've seen in Jupyter AI.
993f725 to
258c373
Compare
…ction into scheduler class at extension launch
|
Superseded by #553 |
Use Dask instead of multiprocessing module