답변:
참조 : http://projects.unbit.it/uwsgi/wiki/Management
--touch-reload=/path/to/special/file/usually/the.ini
옵션으로 uwsgi를 시작한 경우 uWSGI를 다시로드하는 것은 해당 파일을
touch /path/to/special/file/usually/the.ini
"autoreload"기능을 원한다면 이것이 끝입니다 : http://projects.unbit.it/uwsgi/wiki/TipsAndTricks#uWSGIdjangoautoreloadmode
py-autoreload=N
최신 릴리스 에는 옵션 이 있습니다 . N
확인 빈도 (초)로 설정 하기 만하면됩니다 (3은 좋은 값입니다).
django 자동 재로드를 잃지 않으려면이 재로드 방법을 등록하십시오 (예 : settings.py).
import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload
@timer(3)
def change_code_gracefull_reload(sig):
if autoreload.code_changed():
uwsgi.reload()
이제 코드를 변경하면 다시로드됩니다.
저자 : Simone Federici
uwsgi는 kill SIGNAL을 사용하여 다시 시작할 수도 있습니다. 나는 그것을 아래와 같이 사용한다 :
# ps -efa | grep uwsgi | grep prod
app 13390 13383 0 07:40 ? 00:00:00 /usr/local/bin/uwsgi --ini /etc/uwsgi/apps-enabled/app_prod.ini
app 13417 13390 0 07:40 ? 00:00:00 /usr/local/bin/uwsgi --ini /etc/uwsgi/apps-enabled/app_prod.ini
app 13419 13390 0 07:40 ? 00:00:00 /usr/local/bin/uwsgi --ini /etc/uwsgi/apps-enabled/app_prod.ini
# kill -HUP 13390
동일한 명령을 실행하면 자식 프로세스 pid가 마스터에 의해 다시 생성 될 때 변경됩니다. 또한 마스터 / 작업자 프로세스 수에 대한 uwsgi 구성을 확인하십시오. 이 방법은 사용 가능한 도구 나 다른 자동화 도구와 쉽게 통합되므로 원격으로 쉽게 사용할 수 있습니다.
--touch-reload로 시작하기 위해 원본 프로세스가 필요하지 않습니다.