diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2015-10-01 19:58:20 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2015-10-01 19:58:20 -0500 |
commit | 35a2ad1d76790b62b3dbb41cb7fa112c81dc4d5f (patch) | |
tree | a451a77147bc9fabce6e224e2038eedc78e27969 /src/lib/Bcfg2/Server/Core.py | |
parent | 061bd6abbb598659554f28a1a5bba45fd6eca6da (diff) | |
parent | a505fb3b2df0d1eddfe7a92afb080b016e951a43 (diff) | |
download | bcfg2-35a2ad1d76790b62b3dbb41cb7fa112c81dc4d5f.tar.gz bcfg2-35a2ad1d76790b62b3dbb41cb7fa112c81dc4d5f.tar.bz2 bcfg2-35a2ad1d76790b62b3dbb41cb7fa112c81dc4d5f.zip |
Merge branch 'fix/django1.7' of https://github.com/AlexanderS/bcfg2
Diffstat (limited to 'src/lib/Bcfg2/Server/Core.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Core.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py index 25acc8ac0..a9628c024 100644 --- a/src/lib/Bcfg2/Server/Core.py +++ b/src/lib/Bcfg2/Server/Core.py @@ -27,6 +27,7 @@ from Bcfg2.Server.Statistics import track_statistics try: from django.core.exceptions import ImproperlyConfigured + import django import django.conf HAS_DJANGO = True except ImportError: @@ -83,10 +84,14 @@ def close_db_connection(func): """ The decorated function """ rv = func(self, *args, **kwargs) if self._database_available: # pylint: disable=W0212 - from django import db self.logger.debug("%s: Closing database connection" % threading.current_thread().getName()) - db.close_connection() + + if django.VERSION[0] == 1 and django.VERSION[1] >= 7: + for connection in django.db.connections.all(): + connection.close() + else: + django.db.close_connection() return rv return inner @@ -430,6 +435,7 @@ class Core(object): self.logger.error("Unexpected instantiation failure for plugin %s" % plugin, exc_info=1) + @close_db_connection def shutdown(self): """ Perform plugin and FAM shutdown tasks. """ if not self._running: @@ -444,10 +450,6 @@ class Core(object): for plugin in list(self.plugins.values()): plugin.shutdown() self.logger.info("%s: All plugins shut down" % self.name) - if self._database_available: - from django import db - self.logger.info("%s: Closing database connection" % self.name) - db.close_connection() @property def metadata_cache_mode(self): |