Откуда могут быть сбои при постоянной работе скрипта без перезапуска интерпретатора??
Есть парсер обычно работает 24/7 в 8 процессах(запущенных через multiprocesing) работают aiohttp для разных но одинаковых по объёму потоку данных. Работа идёт в формате появился пак id на обработку запускается клиент через оператор with и начинает собирать данные. Отсылка данных идёт там же через api(вынужденно для максимально быстрой отправки).
Иногда бывает зависание во всех 8 процессах одномоментно в лог не вылетает вообще никакой информации об ошибках в таких случаях только убийство процесса помогает но идёт потеря данных за 2 минуты до срабатывания watchdog. Такое бывает где-то раз в 3 дня.
Так же бывает странный сбой когда все 8 инстанссов aiohttp(но запущенных через multiprocessing в одном интерпретаторе начинают возвращать connection tiomeout до сервера) При этом aiohttp запущенный в соседнем интерпретаторе так же работающий с тем ресурсом не возвращает ошибок и спокойно работает. Опять же в данном случае срабатывает watchdog который через 15 минут перестаёт видить сигналы от парсера из-за того что тот скапливает достаточно большой объём данных что бы загрузить весь процессор и не может его обработать менее чем за 2 минуты.
Собственно вопрос куда нужно копать, все таймауты в aiohttp выставлены включая глобальный. Со стороны провайдера прокси нет записей об ошибках прокси серверов на тот момент.
javedimka, Проблема в том что система мониторинга digital ocean не показывает этого. Да и я сам тоже мониторил потребление памяти(ночью 9% днём до 13% стабильно) процессами и не увидел никаких проблем с этим. OEMКiller мог бы сработать но обработка паков id производится чанками специально что бы случайно не вылезти за пределы конкуренси прокси провайдера и за пределы памяти.