"топорно". Есть скрипт на ansible, который делает это:
TASK [Git update]
TASK [Install python requirements]
TASK [Stop uwsgi.service]
TASK [Stop supervisor server]
TASK [Install NPM packages]
TASK [Build NPM]
TASK [copy service and settings files]
TASK [django : Collect static]
TASK [django : pytest]
TASK [Start uwsgi.service]
TASK [Start supervisor server]
Соответственно, пока uwsgi.service и supervisor server выключены, сайт не работает. А это 2 минуты. Хочется уменьшить этот срок.
"левая пятка" чует, что я делаю что-то не так и простая перетасовка шагов позволят уменьшить паузу в работе сайта.
Я бы запихнул в куб и там игрался
"код написан плохо и есть обновления в БД без транзакций." а можно чуть подробнее, как связано обновление и транзакции ?
1) были миграции, выполнились успешно 2) после деплоя выяснилось что в коде ошибка и приложение не работает 3) решили откатить код 4) но база уже обновлена под новый и не совместима со старым
аа понял. про это я тоже думал и не понимал, как с этим бороться
вариантом выше + бекапом базы перед деплоем :)
+ да, транзакции помогут в случае если поломка обнаружится где-то посередине, до применения всех миграций. Тогда всё откатится обратно.
Обсуждают сегодня