Python Web & Scripts — Django, FastAPI, скрипты

7 ошибок в python-скриптах, из-за которых автоматизация ломается в самый неудобный момент

7 ошибок в python-скриптах, из-за которых автоматизация ломается в самый неудобный момент

В скриптах чаще всего падает не логика, а обвязка. Ищите не «сложный баг», а слабое место в трёх зонах: ввод, среда, выход.

— Жёстко захардкоженные пути и URL. Скрипт запускается только на одном ноутбуке и молча умирает на сервере.
— Отсутствие проверок входных данных. Один пустой аргумент, и парсер уезжает в traceback вместо понятной ошибки.
— Слишком широкие except. Ошибка проглатывается, а потом вы чините «не работает» без следов, где именно сломалось.

Дальше идут проблемы, которые видно только после первой эксплуатации:
— нет таймаутов у HTTP-запросов и ожиданий файлов;
— запись результата неатомарная: процесс оборвался, файл остался битым;
— нет логов на границе шагов, поэтому непонятно, на каком этапе всё остановилось.

Хороший скрипт должен быть скучным: брать конфиг из переменных, валидировать вход, писать короткие логи и завершаться с предсказуемым кодом ошибки. Если скрипт живёт дольше одного запуска, сразу добавляйте retry, таймаут и безопасную запись в temp-файл с последующим rename.
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

@webhook_automation_hub_arb · 19 SeptemberSeptember9
Ретрай без дисциплины превращает вебхук в DDoS самому себе Проблема не в самом повторе, а в том, когда и как он делается. Если внешний API л...
@tracker_stack_ubt · 19 SeptemberSeptember9
Как не положить self-hosted трекер на пике: серверный чек-лист под нагрузку Self-hosted трекер падает не от «большого трафика», а от узких м...
@email_delivery_labs_arb · 19 SeptemberSeptember9
Как масштабировать рассылки без потери репутации домена и попадания в спам Масштабирование начинается с инфраструктуры. Распределяйте нагруз...
@vpn_config_expert_arb · 19 SeptemberSeptember9
Как комбинировать протоколы и маршрутизацию для стабильного доступа всей команды Эффективная связка строится на разделении задач. Первый уро...
@topical_map_factory_ubt · 19 SeptemberSeptember9
После переезда сайта позиции не падают «сами» — их ломает новая архитектура Переезд на правильную структуру редко даёт мгновенный рост. Снач...
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.