Don't close idle db connection during rebuild
This commit is contained in:
parent
da9af181dd
commit
8cf30893f2
2 changed files with 7 additions and 6 deletions
|
@ -21,7 +21,7 @@ def dbCleanup():
|
|||
time.sleep(60 * 5)
|
||||
for db in opened_dbs[:]:
|
||||
idle = time.time() - db.last_query_time
|
||||
if idle > 60 * 5:
|
||||
if idle > 60 * 5 and db.close_idle:
|
||||
db.close()
|
||||
|
||||
gevent.spawn(dbCleanup)
|
||||
|
@ -29,7 +29,7 @@ gevent.spawn(dbCleanup)
|
|||
|
||||
class Db(object):
|
||||
|
||||
def __init__(self, schema, db_path):
|
||||
def __init__(self, schema, db_path, close_idle=False):
|
||||
self.db_path = db_path
|
||||
self.db_dir = os.path.dirname(db_path) + "/"
|
||||
self.schema = schema
|
||||
|
@ -44,10 +44,11 @@ class Db(object):
|
|||
self.db_keyvalues = {}
|
||||
self.delayed_queue = []
|
||||
self.delayed_queue_thread = None
|
||||
self.close_idle = close_idle
|
||||
self.last_query_time = time.time()
|
||||
|
||||
def __repr__(self):
|
||||
return "<Db#%s:%s>" % (id(self), self.db_path)
|
||||
return "<Db#%s:%s close_idle:%s>" % (id(self), self.db_path, self.close_idle)
|
||||
|
||||
def connect(self):
|
||||
if self not in opened_dbs:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue