lighttpd, fastcgi, django- 자동으로 다시 시작하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1415343

  •  06-07-2019
  •  | 
  •  

문제

개발자 기계에서 LightTPD + FastCGI + Django를 사용하고 있습니다. Manage.py의 명령 줄 옵션을 통해 FastCGI 서버를 시작합니다.

문제는 소스를 자주 변경하고 "./manage.py Runserver"와 마찬가지로 FastCGI가 자동으로 이러한 변경 사항을 선택해야한다는 것입니다.

아마도 다른 솔루션에 대한 명령 줄 옵션이 있습니까?

도움이 되었습니까?

해결책

Manage.py의 Runserver 부분에서 코드를 모니터링하는 코드를 살펴 보셨습니까? 해당 코드를 Custom Manage.py 스크립트로 복사 할 수없는 이유는 없습니다. 변경 사항이 감지 될 때 Lighty Restart 명령을 실행하도록 설정했습니다.

또는 Pyinotify와 같은 패키지를 사용하여 재시작을 수행 한 별도의 Python 프로그램을 실행할 수 있습니다.

http://trac.dbzteam.org/pyinotify

다른 팁

누군가가 이것을 일에 얻었는지 궁금합니다. Django의 autoreload.py를 사용하여 재 장전 메커니즘을 구현하려고 시도했지만 불행히도 포크가 발생하면 오류가 발생합니다.

django/core/servers/fastcgi.py ", 180 행, runfastcgi wsgiserver (wsgihandler (), ** wsgi_opts) .run () 파일"build/bdist.freebsd-6.4 reelease-p9-amd64/egg/eglup/ Server/FCGI_FORK.PY ", 140 행, 실행 파일"Build/Bdist.FreeBSD-6.4-Release-P9-AMD64/Egg/Flup/Server/PreforkServer.py ", 119 행, 실행 파일"Build/Bdist. freebsd-6.4-Release-P9-Amd64/egg/flup/server/preforkserver.py ", 450 행

내 이상적인 설정은 Django가 내부 서버에서 수행하는 방식과 유사하게 코드 변경이 감지 될 때마다 FCGI 프로세스를 다시로드/죽이고 새 제품을 시작할 수있는 것입니다. 또한이 오류를 지나갈 수있는 autoreload.py에서 스레딩을 제거하려고 시도했지만 서버를 올바르게 실행하지 않는 것 같습니다 (여전히 조사 중).

아마도 누군가 django의 settings.py 파일에서 cherrypies autoreload.py를 시도했을까요?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top