summaryrefslogtreecommitdiff
path: root/main/middleware.py
diff options
context:
space:
mode:
Diffstat (limited to 'main/middleware.py')
-rw-r--r--main/middleware.py40
1 files changed, 0 insertions, 40 deletions
diff --git a/main/middleware.py b/main/middleware.py
deleted file mode 100644
index a698b13c..00000000
--- a/main/middleware.py
+++ /dev/null
@@ -1,40 +0,0 @@
-from django.core.exceptions import MiddlewareNotUsed
-from django.db import connections
-
-
-class AlwaysCommitMiddleware(object):
- """
- Ensure we always commit any possibly open transaction so we leave the
- database in a clean state. Without this, pgbouncer et al. always gives
- error messages like this for every single request:
-
- LOG S-0x1accfd0: db/user@unix:5432 new connection to server
- LOG C-0x1aaf620: db/user@unix:6432 closing because: client close request (age=0)
- LOG S-0x1accfd0: db/user@unix:5432 closing because: unclean server (age=0)
-
- We only let this middleware apply for PostgreSQL backends; other databases
- don't really require connection pooling and thus the reason for this
- middleware's use is non-existent.
-
- The best location of this in your middleware stack is likely the top, as
- you want to ensure it happens after any and all database activity has
- completed.
- """
- def __init__(self):
- for conn in connections.all():
- if conn.vendor == 'postgresql':
- return
- raise MiddlewareNotUsed()
-
- def process_response(self, request, response):
- """Commits any potentially open transactions at the underlying
- PostgreSQL database connection level."""
- for conn in connections.all():
- if conn.vendor != 'postgresql':
- continue
- db_conn = getattr(conn, 'connection', None)
- if db_conn is not None:
- db_conn.commit()
- return response
-
-# vim: set ts=4 sw=4 et: