Python Web & Scripts — Django, FastAPI, скрипты
190 subscribers
93 photos
18 videos
1 file
247 links
Python для веба и автоматизации: Django, FastAPI, Flask, Starlette. Скрипты для парсинга, ETL, обработки данных, integrations. Async, pydantic, deployment patterns.
Канал сети public.tg.
Download Telegram
Python-скрипт для продакшена: чек-лист перед запуском по cron

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

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

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

Хороший признак: скрипт можно запустить руками на тестовом наборе, остановить посередине и безопасно повторить. Если это не так, перед cron рано. Совет: пишите маленький README рядом со скриптом — команда запуска, переменные, пример dry-run и где смотреть логи.