newbie aiopg.create_pool() question

91 views
Skip to first unread message

Dmitry Rusakov

unread,
Jul 15, 2020, 1:54:03 AM7/15/20
to aio-libs
Hello there, всем доброго дня,

I have recently joined a project which is quite heavy on db-usage and async, however, it seems to be done without deep understanding of the underlying concepts.

We have a number of separate pools aiopg.create_pool() created per objects in the system. Question: Is it a valid usage? Or a single pool=aiopg.create_pool() should be used throughout the system?

Thanks in advance,
Dmitry

Сергей Сулейманов

unread,
Jul 15, 2020, 2:35:26 AM7/15/20
to aio-libs
Почему-бы и нет. Если объектов не много и они долгоживущие, и сами плодят кучу асинхронных запросов можно и пулы свои держать. Чтобы не попасть в ожидание освобождения пула  другим объектом.

среда, 15 июля 2020 г. в 09:54:03 UTC+4, dmitry....@gmail.com:

Dmitry Rusakov

unread,
Jul 15, 2020, 3:08:25 AM7/15/20
to aio-libs
понял, спасибо, буду искать баг где то в другом месте.

PS. обьектов не много (2) и они да долгоживущие. Сейчас изолировал изменение что привело к багам, и все разница в том что в коде "который работает" перед async таском по созданию aiopg.create_pool() создается еще один async task (via asyncio.create_task(func1))который коннектится к дб синхронно через обычный psycopg2 (и потом закрывает коннекшин). В коде с "багом" этот первый таск ожидается (await func1) и только затем запускается таск по созданию двух aiopg.create_pool(), из которых один никогда теперь не возвращается падая с "psycopg2.OperationalError: asynchronous connection attempt underway"

Сергей Сулейманов

unread,
Jul 15, 2020, 3:49:50 AM7/15/20
to Dmitry Rusakov, aio-libs
aiopg это asyncio надстройка над psycopg2. Так что может это и не очень хорошая мысль мешать async и sync соединения. Правда я с aiopg плотно не работал, мне как-то asyncpg больше зашел.

ср, 15 июл. 2020 г. в 11:08, Dmitry Rusakov <dmitry....@gmail.com>:
--
You received this message because you are subscribed to a topic in the Google Groups "aio-libs" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/aio-libs/iX8rordzTPI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to aio-libs+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/aio-libs/0068dd89-cea2-4fdf-a8aa-9ae72dc35077n%40googlegroups.com.

Dmitry Rusakov

unread,
Jul 15, 2020, 7:42:44 AM7/15/20
to aio-libs
да, однозначно, надо расчищать эти Авгиевы конюшни ) у нас там еще и sqlalchemy и asyncpg, короче все что можно пытается делать все что получится. Ну короче, типичная ситуация : )
Reply all
Reply to author
Forward
0 new messages