Hello.
I'm the author of this topic on stackoverflow
http://stackoverflow.com/questions/7658714/psycopg2-pgbouncer-async-mode-with-gevent-errorhttp://archives.postgresql.org/psycopg/2011-10/msg00006.phpI have two more questions:
1. When I use connection.commit() before end of application handle request, I've got such messages in logs:
2011-10-05 13:00:52.941 26120 LOG C-0x7ea9d0: database/
user@10.58.65.143:39380 login successful: db=database user=user
2011-10-05 13:00:52.941 26120 LOG C-0x7eb5a0: database/
user@10.58.65.143:39378 login successful: db=database user=user
2011-10-05 13:00:52.942 26120 LOG C-0x7ecfe0: database/
user@10.58.65.143:39377 login successful: db=database user=user
2011-10-05 13:00:52.948 26120 LOG C-0x7ea5e0: database/
user@10.58.65.143:39293 closing because: client close request (age=0)
2011-10-05 13:00:52.978 26120 LOG C-0x7ea880: database/
user@10.58.65.143:39381 login successful: db=database user=user
2011-10-05 13:00:52.978 26120 LOG C-0x7ea340: database/
user@10.58.65.143:39315 closing because: client close request (age=0)
2011-10-05 13:00:52.993 26120 LOG C-0x7ec2c0: database/
user@10.58.65.143:39314 closing because: client close request (age=0)
As I understand It `age` - is a count of connection uses. If I run application in sync mode (without gevent), messages in logs have age = 140 and more. Maybe there is a reason why in async mode age is such a small?
2. I use psycopg simple connection pooler :
pool = SimpleConnectionPool(1, 3, connection_string)
if I add async option:
pool = SimpleConnectionPool(1, 3, connection_string, async=1)
I've got an error, than I can't understand:
File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 940, in __create_execution_context
self._handle_dbapi_exception(e, kwargs.get('statement', None), kwargs.get('parameters', None), None, None)
File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 931, in _handle_dbapi_exception
raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect)
OperationalError: (OperationalError) asynchronous connection attempt underway None [{}]
Do I understand that when using the gevent, I have to use async option?
Thanks a lot.