summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2014-02-28 17:35:56 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2014-02-28 17:35:56 +0100
commit70e5771ff37d2bc345605a82020b97429fc04908 (patch)
tree3666397abe158129fc0a365259bcf5c5c190b049
parent406ade1aa8f96fd976cfec452eae7d6e811b4c1f (diff)
parentab3748ee1bdc3ed85fc721dbfb73cf82bdccdda9 (diff)
downloadbcfg2-1.3.4-spline3.tar.gz
bcfg2-1.3.4-spline3.tar.bz2
bcfg2-1.3.4-spline3.zip
Merge remote branch 'upstream/reporting-close-db-connxn' into splinev1.3.4-spline3
* upstream/reporting-close-db-connxn: Reporting: properly close db connection
-rw-r--r--src/lib/Bcfg2/Reporting/Collector.py3
-rw-r--r--src/lib/Bcfg2/Reporting/Storage/DjangoORM.py7
2 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Reporting/Collector.py b/src/lib/Bcfg2/Reporting/Collector.py
index 0493c907b..2859eca28 100644
--- a/src/lib/Bcfg2/Reporting/Collector.py
+++ b/src/lib/Bcfg2/Reporting/Collector.py
@@ -162,9 +162,6 @@ 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"""
diff --git a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
index ef1e92103..e2e565b1d 100644
--- a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
+++ b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
@@ -18,6 +18,7 @@ from django.core import management
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
from django.db.models import FieldDoesNotExist
from django.core.cache import cache
+from django import db
#Used by GetCurrentEntry
import difflib
@@ -370,6 +371,11 @@ class DjangoORM(StorageBase):
except:
self.logger.error("Failed to import interaction: %s" %
traceback.format_exc().splitlines()[-1])
+ finally:
+ self.logger.info("%s: Closing database connection" %
+ self.__class__.__name__)
+ db.close_connection()
+
def validate(self):
"""Validate backend storage. Should be called once when loaded"""
@@ -451,4 +457,3 @@ class DjangoORM(StorageBase):
else:
ret.append(None)
return ret
-