summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Reporting
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2014-02-18 08:53:35 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2014-02-18 08:54:12 -0500
commit2de76a7b44c148f2ce9e851060c16513581174ff (patch)
treecec6809ccb30b8ab40c5d855dbc1eac22d03ca9b /src/lib/Bcfg2/Reporting
parent48913262d9f4f716e9736bad3928eacbaeb4b774 (diff)
downloadbcfg2-2de76a7b44c148f2ce9e851060c16513581174ff.tar.gz
bcfg2-2de76a7b44c148f2ce9e851060c16513581174ff.tar.bz2
bcfg2-2de76a7b44c148f2ce9e851060c16513581174ff.zip
ensure that DB connections are always closed at thread/process exit
Diffstat (limited to 'src/lib/Bcfg2/Reporting')
-rw-r--r--src/lib/Bcfg2/Reporting/Collector.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Reporting/Collector.py b/src/lib/Bcfg2/Reporting/Collector.py
index 52700f917..0493c907b 100644
--- a/src/lib/Bcfg2/Reporting/Collector.py
+++ b/src/lib/Bcfg2/Reporting/Collector.py
@@ -56,7 +56,7 @@ class ReportingCollector(object):
"""The collecting process for reports"""
def __init__(self, setup):
- """Setup the collector. This may be called by the daemon or though
+ """Setup the collector. This may be called by the daemon or though
bcfg2-admin"""
self.setup = setup
self.datastore = setup['repo']
@@ -99,12 +99,12 @@ class ReportingCollector(object):
raise ReportingError
try:
- self.logger.debug("Validating storage %s" %
+ self.logger.debug("Validating storage %s" %
self.storage.__class__.__name__)
self.storage.validate()
except:
self.logger.error("Storage backed %s failed to validate: %s" %
- (self.storage.__class__.__name__,
+ (self.storage.__class__.__name__,
traceback.format_exc().splitlines()[-1]))
def run(self):
@@ -162,6 +162,9 @@ class ReportingCollector(object):
pass
if self.storage:
self.storage.shutdown()
+ from django import db
+ self.logger.info("%s: Closing database connection" % self.name)
+ db.close_connection()
def reap_children(self):
"""Join any non-live threads"""