Нужна помощь с использованием модуля asyncio.
Исходные данные:
Программа выполняет парсинг текстовых файлов и запись данных в базу данных Mongo.
#main.py # Функция file_operations.get_files формирует список файлов для обработки. # На выходе список файлов (list[str]) # файлов примерно 3500 filelist = file_operations.get_files() for file in filelist: # Из каждого файла извлекаются необходимые данные # На выходе словарь dict[str, list[str]] # В словаре с одного файла примерно 2000 позиций units = parser_global.parser_notam_local(file) # Добавляем записи в базу данных # в функции db_operations.add_notams_to_db(units): # перебор словаря # для каждой позиции в словаре: # проверка на наличии такой записи в БД # запись в БД db_operations.add_notams_to_db(units)
Есть необходимость использования асинхронности т.к. выполнение занимает неприлично продолжительное время. У меня нет понимания куда целесообразно вставить асинхронность. Правильно, что критические моменты это парсинг файлов и запись в БД?
Где и как грамотно реализовать асинхронность?
Может стоит переделать алгоритм выполнения? (разделить функции на более мелкие или наоборот объединить в одну)
Буду благодарен за совет, ссылку на почитать или пример кода.
Спасибо.