summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
-