public 환경에서 플러그인 설치 후 uvicorn을 restart 정보
public 환경에서 플러그인 설치 후 uvicorn을 restart본문
127.0.0.1:8000 같은 local 환경이 아니라 실제 도메인이 연결된 public 환경에서
git 등을 통해 플러그인 설치하면 관리자 플러그인 목록에 뜨긴 하지만
실제 라우터 등이 올바르게 등록되려면 uvicorn을 restart 해야하네용
/plugin/my_plugin/static/img/img-on.png
img-on.png 파일이 실제 있는데도 계속해서 not found가 뜨길래
혹시나 싶어서 uvicorn을 재시작하고 나니까 정상적으로 이미지가 뜨네요 ㅎㅎ
/core/plugin.py 에서 플러그인들의 라우터를 등록하는데
이게 보니까 main.py가 처음에 로드될 때만 실행돼서 그런가봐요.
php 하고 뭔가 차이점이 좀 느껴지네요 ㅋㅋ
1
댓글 2개
PHP는 요청할때 마다 애플리케이션의 초기화와 종료가 반복되므로 수정사항이 바로 반영됩니다.
그에 반해 Uvicorn은 이미 로드한 코드를 기반으로 실행하기 때문에, 코드가 변경 되어도 실행중인 애플리케이션의 메모리에 있는 코드는 업데이트가 되지 않기 때문입니다.
개발 과정에서 코드를 자주 변경하고, 이러한 변경사항을 즉시 반영하고 싶다면 uvicorn app:app --reload
와 같이 --reload
옵션을 사용하여 Uvicorn을 실행하는 것이 좋습니다. 이렇게 하면, 코드에 변경이 발생할 때마다 Uvicorn이 자동으로 애플리케이션을 재시작하여 변경사항을 반영할 수 있습니다.
단, --reload
옵션은 개발 환경에서만 사용하는 것이 권장되며, 운영 환경에서는 사용하지 않는 것이 좋습니다. 운영 환경에서는 안정성과 성능을 위해 코드 변경시 수동으로 서버를 재시작하는 것이 일반적인 프로세스입니다.
라고 ChatGPT가 알려 주었습니다.
@리자 감사드립니다!!!
역시 다 방법이 있었네요~