VadimK
Янв. 17, 2020 12:30:30
Начал новые проекты переводить на django 2 + python 3.6 Начинка обычная - django, rest, еще с десяток батареек используемых и в старых проектах.
И тут заметил, что все новые проекты, запущенные в режиме разработчика “manage.py runserver” при изменении кода , выполняют перезагрузку в течении секунд 5. Визуально видно, как секунды 2 уходит до первой строки перезапуска и потом еще несколько секунд идет сам перезапуск.
Т.е. где старый пайтон 2.7 - там быстро, сохранил код, пока переключился на браузер - уже все перезапустилось. А с новым реальнр сидишь и ждешь перезапуска.
Да, еще вместо venv и сборок версий в систему, стал использовать pyenv+pipenv, но как подозреваю, дело не в них.
В общем вопрос к коллегам - у вас как дела со скоростью релоада джанги ? Блин, аж бесить начинает такая медлительность. И не пойму, то ли я локально по какой то причине это ловлю, то ли это из за версии пайтона или джанги.
FishHook
Янв. 17, 2020 14:09:50
VadimK
попробуйте django-extensions + Werkzeug. Вам станет доступна команда runserver_plus, которая работает не с джанговским сервером, а с сервером от герра Ранахера, который во многих отношениях интересней.
slav0nic
Янв. 28, 2020 15:32:41
Думаю замена девсервера на скорости перезагрузки аппы навряд ли скажется, возможно какая-то стороння библиотека стопит загрузку, можно профайлером пройтись и глянуть, скорей всего проблема в инициализации самого приложения
Например как указано в конце статьи на тему профайлинга WSGI
https://code.djangoproject.com/wiki/ProfilingDjango
VadimK
Янв. 29, 2020 14:51:16
Касаемого начального python3+ django2 + dev server
Я сейчас запускаю проекты под UWSGI с ключами:
http = 127.0.0.1:8000
py-autoreload=1
Перезагрузка в несколько раз быстрее, видно сразу же. Даже в idle режиме у меня джанговский вэб сервер постоянно дергает процессор, равномерно нагружая его на 5-10%. С uwsgi эта нагрузка ну 1-2%.