mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-15 22:13:00 +00:00
delete service.server from db when they stop
same ondelete='SET NULL' as on spawner.server
This commit is contained in:
@@ -213,7 +213,7 @@ class Service(Base):
|
|||||||
api_tokens = relationship("APIToken", backref="service")
|
api_tokens = relationship("APIToken", backref="service")
|
||||||
|
|
||||||
# service-specific interface
|
# service-specific interface
|
||||||
_server_id = Column(Integer, ForeignKey('servers.id'))
|
_server_id = Column(Integer, ForeignKey('servers.id', ondelete='SET NULL'))
|
||||||
server = relationship(Server, primaryjoin=_server_id == Server.id)
|
server = relationship(Server, primaryjoin=_server_id == Server.id)
|
||||||
pid = Column(Integer)
|
pid = Column(Integer)
|
||||||
|
|
||||||
|
@@ -301,5 +301,8 @@ class Service(LoggingConfigurable):
|
|||||||
if not self.managed:
|
if not self.managed:
|
||||||
raise RuntimeError("Cannot stop unmanaged service %s" % self)
|
raise RuntimeError("Cannot stop unmanaged service %s" % self)
|
||||||
if self.spawner:
|
if self.spawner:
|
||||||
|
if self.orm.server:
|
||||||
|
self.db.delete(self.orm.server)
|
||||||
|
self.db.commit()
|
||||||
self.spawner.stop_polling()
|
self.spawner.stop_polling()
|
||||||
return self.spawner.stop()
|
return self.spawner.stop()
|
||||||
|
Reference in New Issue
Block a user