@hrusha_iv

Как оптимизировать запрос в postgres с aiopg?

У меня есть такой кусок кода который берет из базы данных 10M записей. С каждой записью надо выполнить определенное действие и потом это все снова записать в базу. Как видно из кода я создаю список и забрасывают это все в эвент луп. Проблема в том, что через 10 мин работы заканчивается память и комп зависает. Может уже кто-то сталкивался с такой проблемой.
async def run(self):
        tasks = []
        async with aiopg.create_pool(DNS) as pool:
            async with pool.acquire() as conn:
                async with conn.cursor() as cur:
                    await cur.execute("SELECT id, pin, county from land where pin is not null")
                    async for row in cur:
                        tasks.append(self.loop.create_task(self.task(row, pool)))
        await asyncio.wait(tasks)
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы