Add reason for db close
This commit is contained in:
parent
d062f01127
commit
0839fdfc5e
2 changed files with 7 additions and 6 deletions
11
src/Db/Db.py
11
src/Db/Db.py
|
@ -29,7 +29,7 @@ def dbCleanup():
|
||||||
for db in opened_dbs[:]:
|
for db in opened_dbs[:]:
|
||||||
idle = time.time() - db.last_query_time
|
idle = time.time() - db.last_query_time
|
||||||
if idle > 60 * 5 and db.close_idle:
|
if idle > 60 * 5 and db.close_idle:
|
||||||
db.close()
|
db.close("Cleanup")
|
||||||
|
|
||||||
|
|
||||||
def dbCommitCheck():
|
def dbCommitCheck():
|
||||||
|
@ -47,7 +47,7 @@ def dbCommitCheck():
|
||||||
|
|
||||||
def dbCloseAll():
|
def dbCloseAll():
|
||||||
for db in opened_dbs[:]:
|
for db in opened_dbs[:]:
|
||||||
db.close()
|
db.close("Close all")
|
||||||
|
|
||||||
|
|
||||||
gevent.spawn(dbCleanup)
|
gevent.spawn(dbCleanup)
|
||||||
|
@ -196,7 +196,7 @@ class Db(object):
|
||||||
self.delayed_queue = []
|
self.delayed_queue = []
|
||||||
self.delayed_queue_thread = None
|
self.delayed_queue_thread = None
|
||||||
|
|
||||||
def close(self):
|
def close(self, reason="Unknown"):
|
||||||
if not self.conn:
|
if not self.conn:
|
||||||
return False
|
return False
|
||||||
s = time.time()
|
s = time.time()
|
||||||
|
@ -205,7 +205,7 @@ class Db(object):
|
||||||
if self in opened_dbs:
|
if self in opened_dbs:
|
||||||
opened_dbs.remove(self)
|
opened_dbs.remove(self)
|
||||||
self.need_commit = False
|
self.need_commit = False
|
||||||
self.commit("Closing")
|
self.commit("Closing: %s" % reason)
|
||||||
self.log.debug("Close called by %s" % Debug.formatStack())
|
self.log.debug("Close called by %s" % Debug.formatStack())
|
||||||
if self.cur:
|
if self.cur:
|
||||||
self.cur.close()
|
self.cur.close()
|
||||||
|
@ -213,7 +213,8 @@ class Db(object):
|
||||||
self.conn.close()
|
self.conn.close()
|
||||||
self.conn = None
|
self.conn = None
|
||||||
self.cur = None
|
self.cur = None
|
||||||
self.log.debug("%s closed in %.3fs, opened: %s" % (self.db_path, time.time() - s, len(opened_dbs)))
|
self.log.debug("%s closed (reason: %s) in %.3fs, opened: %s" % (self.db_path, reason, time.time() - s, len(opened_dbs)))
|
||||||
|
self.connect_lock.release()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# Gets a cursor object to database
|
# Gets a cursor object to database
|
||||||
|
|
|
@ -407,7 +407,7 @@ def db(request):
|
||||||
db.checkTables()
|
db.checkTables()
|
||||||
|
|
||||||
def stop():
|
def stop():
|
||||||
db.close()
|
db.close("Test db cleanup")
|
||||||
os.unlink(db_path)
|
os.unlink(db_path)
|
||||||
|
|
||||||
request.addfinalizer(stop)
|
request.addfinalizer(stop)
|
||||||
|
|
Loading…
Reference in a new issue