Оптимизировать скрипт телеграм бота
Сейчас бот ложится при нагрузке 3-5 сообщений в секунду, нужно чтобы он корректно выдерживал нагрузку до 10 сообщений в секунду, при этом логика работы и функционал остался сохраненным. Сейчас (кратко) логика работы:
1. Пользователь пишет сообщение в чат
2. Бот открывает его профиль, смотрит фото и текст, если есть спам или запрещенные тематики- бан, если нет
2. Отправляется сообщение и фото на проверку на спам - если спам - сначала предупреждение, при повторе мьют на неделю, ещё раз - бан насовсем
3. Определение тональности
4. Отправляет текст и промт для подготовки ответа, готовит ответ
5. если в админке включена премодерация в зависимости от типа тональности (позитив/нейтрал/негатив) то часть отправляет на премодерацию пользователю, часть ответов публикует сразу. То что ушло на премодерацию можно: согласовать/отклонить/отредактировать и опубликовать
Проблемы:
При высокой нагрузке в 10 сообщений в секунду, особенно с медиафайлами, текущая реализация бота столкнется с критическими проблемами, уязвимые места:
1. Блокировка Event Loop
2. Проблемы с БД
3. Обработка изображений
4. Спам-фильтры
5. Файловая система
6. Память
7. Балансировка нагрузки
8. Обработка неизвестного контента (стикеры, gif, видео)
Нужно, полностью сохранив функционал оптимизировать код так, чтобы бот работал на 10 сообщениях в секунду+обрабатывал фото, аудио, превью видео, стикеры не только в спам режиме но и в диалогах. Код бота и код модуля проверки на спам прилагаю. Бот на Фласке, спам модуль тоже.
Скрипты и боты