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

Python-скрипт для продакшена: чек-лист перед запуском по cron

Python-скрипт для продакшена: чек-лист перед запуском по cron

Скрипт, который «просто раз в час дергает API», быстро становится частью продукта. До первого таймаута, дубля в базе или молчаливого падения. Минимальный набор защиты лучше заложить сразу.

— конфиг только через env или отдельный файл, без токенов в коде;
— логируйте не только ошибку, но и входные параметры задачи, id сущности, время ответа;
— добавьте таймауты на HTTP, БД и внешние команды;
— делайте операции идемпотентными: повторный запуск не должен портить данные;
— храните lock-файл или используйте блокировку, если два запуска опасны.

Отдельно проверьте выходы из сценария. sys.exit(1) для аварии, понятные коды возврата, запись последнего успешного шага. Если скрипт обрабатывает пачку, не падайте из-за одной плохой строки: складывайте ее в отдельный список и идите дальше.

Хороший признак: скрипт можно запустить руками на тестовом наборе, остановить посередине и безопасно повторить. Если это не так, перед cron рано. Совет: пишите маленький README рядом со скриптом — команда запуска, переменные, пример dry-run и где смотреть логи.
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
tech

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

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

start

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

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

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