cleanup servers, api tokens after spawner shutdown

prevents growing table of unused servers and tokens
This commit is contained in:
Min RK
2016-07-08 16:50:43 +02:00
parent 4801d647c1
commit 2eaecd22ba
2 changed files with 16 additions and 0 deletions

View File

@@ -291,12 +291,20 @@ class User(HasTraits):
self.spawner.stop_polling()
self.stop_pending = True
try:
api_token = self.spawner.api_token
status = yield spawner.poll()
if status is None:
yield self.spawner.stop()
spawner.clear_state()
self.state = spawner.get_state()
self.last_activity = datetime.utcnow()
# cleanup server entry, API token from defunct server
if self.server:
# cleanup server entry from db
self.db.delete(self.server)
orm_token = orm.APIToken.find(self.db, api_token)
if orm_token:
self.db.delete(orm_token)
self.server = None
self.db.commit()
finally: