Re: psycopg2 (async) socket timeout

Поиск
Список
Период
Сортировка
От Marko Kreen
Тема Re: psycopg2 (async) socket timeout
Дата
Msg-id AANLkTinw9xUnsnpX5AmzMSb=KpktXTGsaNknONJ9HPWB@mail.gmail.com
обсуждение исходный текст
Ответ на psycopg2 (async) socket timeout  (Danny Milosavljevic <danny.milo@gmail.com>)
Ответы Re: psycopg2 (async) socket timeout  (Jan Urbański <wulczer@wulczer.org>)
Список psycopg
On Thu, Feb 3, 2011 at 10:04 PM, Danny Milosavljevic
<danny.milo@gmail.com> wrote:
> is it possible to specify the timeout for the socket underlying a connection?
>
> Alternatively, since I'm using the async interface anyway, is it
> possible proactively cancel a query that is "stuck" since the TCP
> connection to the database is down?
>
> So the specific case is:
> - connect to the postgres database using psycopg2 while network is up
> - run some queries, get the results fine etc
> - send a query
> - the network goes down before the result to this last query has been received
> - neither a result nor an error callback gets called - as far as I can
> see (using txpostgres.ConnectionPool)
>
> What's the proper way to deal with that?

TCP keepalive.  By default the timeouts are quite high,
but they are tunable.

libpq supports keepalive tuning since 9.0, on older libpq
you can do it yourself:

  https://github.com/markokr/skytools/blob/master/python/skytools/psycopgwrapper.py#L153

--
marko

В списке psycopg по дате отправления:

Предыдущее
От: Daniele Varrazzo
Дата:
Сообщение: Re: psycopg2 (async) socket timeout
Следующее
От: Federico Di Gregorio
Дата:
Сообщение: Re: RELEASE: psycopg 2.4 beta 2