From 2ee21d9f0d9eaed0494f3b9cd4b5bc9beffffae5 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Mon, 18 Feb 2013 11:37:26 +0100 Subject: Implemented persistent database connections. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks Anssi Kääriäinen and Karen Tracey for their inputs. --- django/test/client.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'django/test') diff --git a/django/test/client.py b/django/test/client.py index 2506437023..46f55d7cdc 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -18,7 +18,7 @@ from django.core.handlers.base import BaseHandler from django.core.handlers.wsgi import WSGIRequest from django.core.signals import (request_started, request_finished, got_request_exception) -from django.db import close_connection +from django.db import close_old_connections from django.http import SimpleCookie, HttpRequest, QueryDict from django.template import TemplateDoesNotExist from django.test import signals @@ -78,9 +78,9 @@ def closing_iterator_wrapper(iterable, close): for item in iterable: yield item finally: - request_finished.disconnect(close_connection) + request_finished.disconnect(close_old_connections) close() # will fire request_finished - request_finished.connect(close_connection) + request_finished.connect(close_old_connections) class ClientHandler(BaseHandler): @@ -101,7 +101,9 @@ class ClientHandler(BaseHandler): if self._request_middleware is None: self.load_middleware() + request_started.disconnect(close_old_connections) request_started.send(sender=self.__class__) + request_started.connect(close_old_connections) request = WSGIRequest(environ) # sneaky little hack so that we can easily get round # CsrfViewMiddleware. This makes life easier, and is probably @@ -115,9 +117,9 @@ class ClientHandler(BaseHandler): response.streaming_content = closing_iterator_wrapper( response.streaming_content, response.close) else: - request_finished.disconnect(close_connection) + request_finished.disconnect(close_old_connections) response.close() # will fire request_finished - request_finished.connect(close_connection) + request_finished.connect(close_old_connections) return response -- cgit v1.3