Python. Асинхронная обработка данных
помогите с таким вопросом. У меня есть некоторая функция, принимающая на вход индекс записи в БД. Эта функция достает запись из БД и обрабатывает её. Мне надо обработать все данные из базы, грубо говоря:
for i in range(10 ** 6):
some_f(i)
Вопрос: как правильно реализовать это с помощью асинхронного программирования? Есть ли другой способ ускорить процесс?
Все данные не поместятся в память, а также индексы не обязательно будут идти по порядку, как в примере.
Ответы (1 шт):
Кажется, самый просто вариант в вашем случае - работать батчами. То есть, если все записи не помещаются в памяти, то доставать, например, по 10 000 записей за раз.
Асинхронность тут не особо поможет, т.к. если у вас памяти в каждый момент времени хватает только на обработку условных 10000 записей, то всё равно лучше доставать их из базы одной пачкой, чем асинхронно в 10000 отдельных запросов.