Frage

Ich bin mit Lighttpd + FastCGI + Django auf einer Dev-Maschine. Ich beginne FastCGI-Server über die Befehlszeilenoption des manage.py.

Das Problem ist, dass ich sehr oft auf Quellen Änderungen tun und ich brauche FastCGI zu bekommen diese Änderungen automatisch zu holen, so wie „./manage.py runserver“ der Fall ist.

Gibt es eine Befehlszeilenoption für das, vielleicht, oder andere Lösungen?

War es hilfreich?

Lösung

Haben Sie sich den Code in das runserver Teil manage.py, die die Überwachung tut? Ich sehe keinen Grund, warum Sie konnte nicht nur diesen Code in einem benutzerdefinierten Skript manage.py copy-paste und setzen sie den lighty Neustart Befehl ausgeführt werden soll, wenn Änderungen erkannt wurden.

Alternativ können Sie ein separates Python-Programm ausführen, das den Neustart mit einem Paket wie pyinotify tat:

http://trac.dbzteam.org/pyinotify

Andere Tipps

Ich frage mich, ob jemand jemals diese Arbeit bekommen hat? Ich habe versucht, einen Reload Mechanismus Umsetzung Djangos autoreload.py verwenden, leider bekomme ich Fehler, wenn die Gabel auftritt wie:

django / core / Server / fastcgi.py“, Linie 180, in runfastcgi     WSGIServer (WSGIHandler () ** wsgi_opts) .run ()   Die Datei "build / bdist.freebsd-6.4-RELEASE-P9-amd64 / Ei / flup / server / fcgi_fork.py", Linie 140, in Lauf   Die Datei "build / bdist.freebsd-6.4-RELEASE-P9-amd64 / Ei / flup / server / preforkserver.py", Linie 119, in Lauf   Die Datei "Code / bdist.freebsd-6,4-RELEASE-P9-amd64 / Ei / flup / server / preforkserver.py", Leitung 450, in _installSignalHandlers Valueerror: Signal funktioniert nur im Hauptthread

Meine ideale Setup wäre in der Lage sein, meinen fcgi Prozess neu zu laden / töten und einen neuen nach jedem Mal, wenn eine Codeänderung erkannt wird beginnen, ähnlich wie django tut dies mit ihrem internen Server. Ich habe auch versucht das Einfädeln von autoreload.py zu entfernen, die nach diesem Fehler bekommen würde, aber es scheint nicht, den Server ordnungsgemäß ausgeführt werden (immer noch, dass die Untersuchung).

Vielleicht hat jemand versucht hat, CherryPies autoreload.py in der settings.py Datei für django?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top