Исправить ошибки в работе скрипта
Есть скрипт, который используя Selenium заходит на сайт ищет там ключевое слово, собирает заголовки ответа, и аналистику, время загрузки узлов, ожидание ответа и т.д (как в файрбаг).
В случае ошибок делает скрин и сохраняет HAR-файл.
Если запускается 1 экземпляр в 4 -5 секунд, все работает нормально. Проблемы начинаются когда одновременно запускается несколько задач. (например 30 задач в течении 1-й минуты).
Скрипт начинает работать не стабильно. Данные в БД по некоторым таскам сохраняются частично или не сохраняются вовсе.
Наиболее распространенные проблемы которые видел в логах:
1. ProtocolException("Error in HTTP connection: Http2ZombieException('Connection or stream already dead: 1682387806.5554209, False')")
2. r, w_, e_ = select.select([self.socket], [], [], poll_interval) ValueError: filedescriptor out of range in select()
Что нужно сделать:
1. Исправить проблемы с одновременным запуском, что бы корректно работало.
2. Оптимизировать код. Увеличить производительность. Минимум в минуту должно отрабатывать 60 тасков, желательно больше.
3. Избавиться от лишнего request с помощью которого собираются заголовки. Сделать это через селениум.
4. Разобраться почему некоторые процессы хром не закрываются и продолжают висеть в процессах.
Скрипт состоит из двух частей.
1. Менеджер - который запускает задачи по расписанию.
2. Исполняемый скрипт.
Все задачи запускаются в отдельном потоке.
Технологии: Python 3.10, Mysql, Selenium
-
Ну це зрозуміло чому )) стільки сесій селеніуму )) написано ж явно чому )))
В коренях не вірний підхід до такої таски . Тут потрібно інший пул технологій
-
Во-первых в логах все описано. Во-вторых, чтоб выполнить ваше тз из 4-х пунктов, то нужно первым делом открыть этот ваш «скрипт», нажать контрол+а, а потом ДЕЛ. и переписать все с нуля с правильными инструментами, ибо селен не сильно подходит для задач такого рода. Касательно 4-го пункта, то я думаю, что если распечатать на бумаге все логи ошибок, что выдает сие творенье, то этой бумагой можно устлать дорогу от Киева до Житомира и обратно, и там, вероятно, присутствует че-то типа «during an exception was being handled, another exception occurred….бла бла бла», поэтому и висят какие-то процессы, ибо для их завершения нужна удача или крах, а у вас одна ошибка тянет другую, как в примере логов, поэтому ось така фигня, малята …
-
Актуальные фриланс-проекты в категории Python
Найти товарный фид (Google Merchant XML) для сайта на OpenCart
700 UAH
Необходимо найти прямую ссылку на действующий товарный фид (XML) конкурента для Google Merchant Center Платформа (CMS): OpenCart / ocStore Найти оригинальный фидТребования к результату: Рабочая ссылка на XML-файл Python, Парсинг данных ∙ 2 дня 7 часов назад ∙ 21 ставка |
Розработка Тик-Ток фермы (контент-завод)Необзодимо разработать систему для централизованного управления несколькими TikTok-аккаунтами с автоматической публикацией контента, использованием индивидуальных прокси и имитацией естественной активности аккаунтов. Функциональные требования1. Управление аккаунтами Добавление… Python, Разработка ботов ∙ 2 дня 19 часов назад ∙ 19 ставок |
Улучшить работу Claude Code и работа с написанием софтаСейчас разрабатываю СРМ и Аналитику, софт. Делаю через Клод Код, но понимаю что результаты не лучшие в плане изменений. Есть 2 задачи - Нужно помочь сделать пресет по навыкам, мд и так далее чтобы улучшить качество. Взять проверенные с которыми работали, а не с интернета… AI и машинное обучение, Python ∙ 3 дня 1 час назад ∙ 24 ставки |
Система OCRНужна система распознавания текста на почтовых конвертах (индекс кому - только числа). Текст иногда может быть рукописным. Распознавание марок (подсчет количества и номинала) Python ∙ 3 дня 4 часа назад ∙ 25 ставок |
Создание Human AI Assistant для Telegram-групп### 1.1. Ключевая концепция системы Система должна выполнять две основные функции: #### 1. Анализ клиентской коммуникации AI-ассистент должен автоматически анализировать всю коммуникацию в Telegram-группах и понимать контекст общения. В частности, система должна: -… AI и машинное обучение, Python ∙ 4 дня 16 часов назад ∙ 43 ставки |