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 하고 뭔가 차이점이 좀 느껴지네요 ㅋㅋ

|

댓글 2개

PHP는 요청할때 마다 애플리케이션의 초기화와 종료가 반복되므로 수정사항이 바로 반영됩니다.

 

그에 반해 Uvicorn은 이미 로드한 코드를 기반으로 실행하기 때문에, 코드가 변경 되어도 실행중인 애플리케이션의 메모리에 있는 코드는 업데이트가 되지 않기 때문입니다.

 

개발 과정에서 코드를 자주 변경하고, 이러한 변경사항을 즉시 반영하고 싶다면 uvicorn app:app --reload와 같이 --reload 옵션을 사용하여 Uvicorn을 실행하는 것이 좋습니다. 이렇게 하면, 코드에 변경이 발생할 때마다 Uvicorn이 자동으로 애플리케이션을 재시작하여 변경사항을 반영할 수 있습니다.

 

단, --reload 옵션은 개발 환경에서만 사용하는 것이 권장되며, 운영 환경에서는 사용하지 않는 것이 좋습니다. 운영 환경에서는 안정성과 성능을 위해 코드 변경시 수동으로 서버를 재시작하는 것이 일반적인 프로세스입니다.

 

 

라고 ChatGPT가 알려 주었습니다.

@리자 감사드립니다!!!

역시 다 방법이 있었네요~

댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누보드6 파이써니스타

그누보드6, 파이썬에 대한 지식과 경험, 일상 대화를 나누는 교류의 장입니다.

+
제목 글쓴이 날짜 조회
1년 전 조회 910
1년 전 조회 839
1년 전 조회 651
1년 전 조회 849
1년 전 조회 751
1년 전 조회 987
1년 전 조회 1,998
1년 전 조회 532
1년 전 조회 3,770
1년 전 조회 2,375
1년 전 조회 1,093
1년 전 조회 850
1년 전 조회 1,025
1년 전 조회 1,072
1년 전 조회 739
1년 전 조회 968
1년 전 조회 1,294
1년 전 조회 1,318
1년 전 조회 1,141
1년 전 조회 1,688
1년 전 조회 1,390
1년 전 조회 1,310
2년 전 조회 1,664
2년 전 조회 2,008
2년 전 조회 1,316
2년 전 조회 1,049
2년 전 조회 1,191
2년 전 조회 1,705
2년 전 조회 883
2년 전 조회 842
🐛 버그신고