7 ошибок в Python-скриптах, из-за которых ломается автоматизация
В репозиториях это всплывает снова и снова: скрипт «вроде работает», пока не попадает на нестандартные данные, пустой ответ или медленный API.
— Нет явной обработки исключений: один падеж сети, и задача падает без ретрая.
— Переменные окружения читаются без проверки: секретов нет, а код молча уходит в None.
— Путь к файлам захардкожен: на локалке ок, в контейнере уже нет.
— Входные данные не валидируются: лишний пробел, пустая строка или неожиданный тип ломают весь пайплайн.
Отдельно смотрите на логирование. Если в логах только «error happened», то разбирать инцидент придется руками. Нужны контекст, входные параметры, идентификатор задачи и нормальный traceback. Для фоновых скриптов это важнее, чем кажется: без этого непонятно, где именно потерялись данные и кто это вообще запустил.
Еще одна частая проблема — отсутствие идемпотентности. Скрипт должен переживать повторный запуск: не дублировать записи, не создавать одни и те же файлы, не отправлять одно и то же уведомление дважды.
Перед релизом прогоняйте один вопрос: если процесс упадет на середине и его запустят заново, он продолжит работу или начнет все заново с мусором?
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
7 ошибок в Python-скриптах, из-за которых ломается автоматизация
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.