mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-13 04:53:01 +00:00
set Spawner.server directly
avoids Spawner.server property looking up on the ORM every time, which is expensive and we want to check `Spawner.server is None` often.
This commit is contained in:
@@ -9,12 +9,13 @@ from oauth2.error import ClientNotFoundError
|
||||
from sqlalchemy import inspect
|
||||
from tornado import gen
|
||||
from tornado.log import app_log
|
||||
from traitlets import HasTraits, Any, Dict, default
|
||||
|
||||
from .utils import url_path_join, default_server_name
|
||||
|
||||
from . import orm
|
||||
from ._version import _check_version, __version__
|
||||
from traitlets import HasTraits, Any, Dict, observe, default
|
||||
from .objects import Server
|
||||
from .spawner import LocalProcessSpawner
|
||||
from .crypto import encrypt, decrypt, CryptKeeper, EncryptionUnavailable, InvalidToken
|
||||
|
||||
@@ -314,8 +315,8 @@ class User(HasTraits):
|
||||
|
||||
|
||||
spawner = self.spawners[server_name]
|
||||
spawner.server = Server(orm_server=orm_server)
|
||||
assert orm_spawner.server is orm_server
|
||||
spawner.server = server = Server(orm_server=orm_server)
|
||||
assert spawner.orm_spawner.server is orm_server
|
||||
|
||||
# Passing user_options to the spawner
|
||||
spawner.user_options = options or {}
|
||||
@@ -452,8 +453,6 @@ class User(HasTraits):
|
||||
spawner.orm_spawner.state = spawner.get_state()
|
||||
self.last_activity = datetime.utcnow()
|
||||
# remove server entry from db
|
||||
if spawner.server is not None:
|
||||
self.db.delete(spawner.orm_spawner.server)
|
||||
spawner.server = None
|
||||
if not spawner.will_resume:
|
||||
# find and remove the API token if the spawner isn't
|
||||
|
Reference in New Issue
Block a user