Инцидент: как мы сломали и восстановили сборщик тиражей

Что произошло

После нескольких успешных запусков сборщика api_collector.py мы начали активно вносить правки:

В результате скрипт перестал проходить капчу, а systemd-сервис падал с SIGTERM и EPIPE.

Корневая причина

Мы изменили проверенный временем модуль captcha_solver.py (заменили ddddocr на каскад из трёх OCR-движков) и нарушили логику обхода капчи в api_collector.py. Чем сложнее становился код, тем хуже он работал.

Как восстанавливали

  1. Остановили systemd-сервис, чтобы не мешал.
  2. Скопировали эталонные версии api_collector.py и captcha_solver.py из репозитория devops-portfolio/lottery-bot/, где лежала рабочая версия.
  3. Запустили скрипт вручную — капча прошлась, тиражи начали собираться.
  4. Оставили работать в фоне через nohup и настроили cron-сторож для автоматического перезапуска.

Выводы

Текущее состояние

Сборщик работает стабильно. Капча обходится автоматически. Данные по 26 лотереям собираются в SQLite. Следующие эксперименты будем проводить в отдельных ветках.

← На главную