Closed rcthomas closed 6 months ago
I haven't looked into named servers yet, but many of these changes end up needing something like this. #21, #22, and #25 are all other examples of similar things for modern JupyterHub functions. I think in general, there should be some way to pass values back and forth to the child spawners. Some considerations from my previous tests:
An unconditional __getattr__
/ __setattr__
caused problems when
I tried.
Need to be able to also update existing attributes
Some attributes may need setting on both the wrapspawner and the child spawner.
Should we make something general, or do we need whitelists/blacklists of what gets passed through?
Personally, I'd say for now just make it work using what you found, and eventually we will come back and properly unify everything. Unless someone does in properly before. I'll look at it eventually but not too soon, I think - anyone who has hints or wants to do it sooner, please do.
I'm working on using wrapspawner and named servers in our deployment. That is, each wrapped spawner's server would get a name. I've subclassed wrapspawner and I find that I need to add this to my
construct_child()
method aftersuper.construct_child()
in order for the server name to get intoJUPYTERHUB_OAUTH_CALLBACK_URL
self.child_spawner.orm_spawner = self.orm_spawner
It works, but what's the right way to make this work...?