[Python] SqlAlchemy postgresql schemi e search_path

Luca luca800 a gmail.com
Mar 22 Dic 2015 17:59:08 CET


Salve a tutti,

Chiedo se qualcuno sa.

Ho una situazione del genere:

- nginx.
- uwsgi.
- djnago wsgi application.
- postgresql uno schema public e circa 170 schemi *per user*.
- sqlalchemy.

In teoria l'idea è questa:

- Login con schema public.
- Recupero dell'ID_SCHEMA dal record dell'utente.
- SET SEARCH_PATH con ID_SCHEMA, public;
- Resto delle query.

Per impostare lo schema utilizzo l'evento checkout dei *Connection Pool
Events*
@event.listens_for(Pool, 'checkout')

Per le sessioni database di sqlalchemy utilizzo una stipida classe
singleton che usa scoped_session.
Nell'evento *checkout* uso django-crequest per recuperare le informazioni
per l'utente della request corrente.

La cosa sembra funzionare, ma quando provo a lanciare tipo un centinaio di
client paralleli comincia a darmi degli errori, apparentemente casuali, che
vanno dal *cursor already closed* a *too many clients already*

Come potrei evitare questi errori o altri non ancora visti?
Sto facendo la cosa in maniera corretta?
Quanto legno potrebbe sgranocchiare una marmotta se una marmotta potesse
sgranocchiare legno?

notte

-- 
Luca
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20151222/6431f84e/attachment.html>


Maggiori informazioni sulla lista Python