Estoy ejecutando Django 1.3 con PostgreSQL 9.1/PostGIS 1.5, psycopg2 2.4.2 y pgbouncer 1.4.2.pgbouncer - cierre porque: servidor sucio en cada conexión
En cada conexión a la base de datos consigo una entrada de registro en pgbouncer.log:
2011-11-20 02: 15: 25.027 29.538 REGISTRO DE S-0x96c2200: app_db/[email protected] : 5432 cierre porque: servidor sucio (edad = 0).
No encuentro ninguna solución a este problema. ¿Alguien tiene una idea de por qué? He intentado reconfigurar pgbouncer (modo de sesión/transacción, diferentes tiempos de espera, etc.), pero fue en vano.
Ok, acabo de enterarme por el camino difícil, ADVERTENCIA: no haga esto solo si usa apio (u otra cosa) para el procesamiento de tareas en segundo plano. Es probable que existan condiciones de carrera en las que pase la clave principal de un objeto a una tarea que se ejecute de forma asíncrona. La tarea puede comenzar a ejecutarse antes de que la solicitud finalice (y la transacción se haya comprometido), por lo que la tarea no puede encontrar el objeto. Creo que la única solución para esto es la gestión manual de transacciones. – Dick
Solo una nota para agradecerle por vincular mi presentación ... ¡Me alegro de que haya sido útil! :) – Christophe
¡Por supuesto! Fue una gran presentación; Me parece sorprendente que se sepa muy poco sobre la gestión de transacciones 'interrumpida' en Django. – Dick