hallo,
habe ein eingabeinterface (php), dass die anfrage an das form.py/start sendet
(pythonhandler mod_python.publisher).
in diesem modul werden mehrer klassen eingebunden und ausgeführt.
ändere ich eine von ihnen, werden sie nicht übernommen !!??!!
hab noch eine test.py um die klassen außerhalb eines webservers zu testen und da
funktioniert es prächtig.
google war bisher keine hilfe.
wenn man den kompletten server neustartet, werden die änderungen auch übernommen, aber
das ist in der firma definitiv nicht möglich.
hat jemand eine idee oder erfahrung mit diesem umstand?
würde mich freuen, wenn ihr mir eure kreativen ideen unterbreitet
kris
mod_python: änderungen werden nicht übernommen
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hallo kriza80, willkommen im Forum,
Meine Idee: Alte ``*.pyc``-Dateien die noch rumliegen?
Aller Erfahrung nach verschwinden alle Probleme mit ``mod_python`` wenn man auf Sinnvollere Lösungen wie ``FastCGI`` etc. umsteigt. Funktioniert bei WSGI-Programmen fast ohne Aufwand.
Meine Idee: Alte ``*.pyc``-Dateien die noch rumliegen?
Aller Erfahrung nach verschwinden alle Probleme mit ``mod_python`` wenn man auf Sinnvollere Lösungen wie ``FastCGI`` etc. umsteigt. Funktioniert bei WSGI-Programmen fast ohne Aufwand.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
hat leider nicht funktioniert, alte pyc zu löschen und neu zu kompilieren.
war leider gezwungen den apache neu zu starten.
werd dem problem bei gelegenheit noch etwas auf den grund gehen, kann ja nicht sein, dass eine modifikation einen system neustart nachsichzieht...
danke Leonidas für die nette begrüßung ^^
war leider gezwungen den apache neu zu starten.
werd dem problem bei gelegenheit noch etwas auf den grund gehen, kann ja nicht sein, dass eine modifikation einen system neustart nachsichzieht...
danke Leonidas für die nette begrüßung ^^
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Doch. Überleg mal wie der Python-Interpreter aufgebaut ist und wie mod_python funktioniert und dann stellst du fest, dass reloading in dieser Konfiguration nie richtig gut funktionieren kann.kriza80 hat geschrieben:werd dem problem bei gelegenheit noch etwas auf den grund gehen, kann ja nicht sein, dass eine modifikation einen system neustart nachsichzieht...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
falls du apache nutzt probier mal
MaxRequestsPerChild 1 (http.conf)
das ist aber mit vorsicht zu genießen, vor allem falls du irgendwelche klassen benutzt die nicht davon ausgehen dauern neu geladen zu werden (singletons?)
EDIT... grade übersehen:
dann solltest du das _nicht_ tun!
installier dir einen extra entwicklungsserver.
MaxRequestsPerChild 1 (http.conf)
das ist aber mit vorsicht zu genießen, vor allem falls du irgendwelche klassen benutzt die nicht davon ausgehen dauern neu geladen zu werden (singletons?)
EDIT... grade übersehen:
du entwickelst die anwendung auf einem server der online ist?wenn man den kompletten server neustartet, werden die änderungen auch übernommen, aber
das ist in der firma definitiv nicht möglich.
dann solltest du das _nicht_ tun!
installier dir einen extra entwicklungsserver.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Und was wäre dann der Vorteil ggü. CGI? Der Nachteil ist schon mal, dass deine Server-Performance massiv einbricht, auf für statische Dateien, weil er dauernd am Neustarten ist.Jona hat geschrieben:MaxRequestsPerChild 1 (http.conf)
das ist aber mit vorsicht zu genießen, vor allem falls du irgendwelche klassen benutzt die nicht davon ausgehen dauern neu geladen zu werden (singletons?)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
das geht natürlich nur auf einem entwicklungsserver, hab ich doch geschrieben...
da ist dann auch die performance egal.
afaik ist das die einzige möglichkeit zu verhindern, dass man dauernd den server neu starten muss nachdem man quellcode geändert hat.
da ist dann auch die performance egal.
afaik ist das die einzige möglichkeit zu verhindern, dass man dauernd den server neu starten muss nachdem man quellcode geändert hat.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
... WSGI + CGI/FastCGI/SCGI ...Jona hat geschrieben:afaik ist das die einzige möglichkeit zu verhindern, dass man dauernd den server neu starten muss nachdem man quellcode geändert hat.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Jein, der Server muss nicht neu gestartet werden, nur das Handler-Skript.Jona hat geschrieben:das heisst, wenn ich statt mod_python fastCGI nutze kann ich code ändern und ohne dass der server neu gestartet werden muss sind dei änderungen sichtbar?
Aber im Prinzip genau das was du willst (Handlerskript läuft unter deinem User, mit denen Rechten etc...).
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Der FastCGI-Server muss neugestartet werden, aber man kann es sogar so einstellen, dass wenn sich etwas am Timestamp des Handlerscripts ändert, dass dann das Skript automatisch neu gestartet wird.Jona hat geschrieben:das heisst, wenn ich statt mod_python fastCGI nutze kann ich code ändern und ohne dass der server neu gestartet werden muss sind dei änderungen sichtbar?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
hallo.. interesante ansätze.
jedoch sind diese optionen nicht denkbar. auf dem server sind dutzende projekte und die modifikationen die ich durchführen darf sind stark eingeschränkt. zumal die applikation die ich entwickle auf python basiert und sehr komplex ist ...
ich kann es nicht ganz glauben, dass man den server neustarten muss
werd mich nach meiner diplomarbeit bissl mehr damit beschäftigen. gerade hab ich leider keine zeit.. luft brennt ^^
jedoch sind diese optionen nicht denkbar. auf dem server sind dutzende projekte und die modifikationen die ich durchführen darf sind stark eingeschränkt. zumal die applikation die ich entwickle auf python basiert und sehr komplex ist ...
ich kann es nicht ganz glauben, dass man den server neustarten muss
werd mich nach meiner diplomarbeit bissl mehr damit beschäftigen. gerade hab ich leider keine zeit.. luft brennt ^^