Close DB on shutdown

This commit is contained in:
Ruud
2014-05-08 15:39:40 +02:00
parent 18a870f8c3
commit 1bd556fbb3
3 changed files with 17 additions and 2 deletions
+7 -2
View File
@@ -90,7 +90,11 @@ class Core(Plugin):
def shutdown():
self.initShutdown()
IOLoop.current().add_callback(shutdown)
if IOLoop.current()._closing:
shutdown()
else:
IOLoop.current().add_callback(shutdown)
return 'shutdown'
@@ -139,7 +143,8 @@ class Core(Plugin):
log.debug('Safe to shutdown/restart')
try:
IOLoop.current().stop()
if not IOLoop.current()._closing:
IOLoop.current().stop()
except RuntimeError:
pass
except:
+4
View File
@@ -28,6 +28,7 @@ class Database(object):
addEvent('database.setup_index', self.setupIndex)
addEvent('app.migrate', self.migrate)
addEvent('app.after_shutdown', self.close)
def getDB(self):
@@ -37,6 +38,9 @@ class Database(object):
return self.db
def close(self, **kwargs):
self.getDB().close()
def setupIndex(self, index_name, klass):
self.indexes.append(index_name)
+6
View File
@@ -262,8 +262,14 @@ def runCouchPotato(options, base_path, args, data_dir = None, log_dir = None, En
# Go go go!
from tornado.ioloop import IOLoop
from tornado.autoreload import add_reload_hook
loop = IOLoop.current()
# Reload hook
def test():
fireEvent('app.shutdown')
add_reload_hook(test)
# Some logging and fire load event
try: log.info('Starting server on port %(port)s', config)
except: pass