hallo allerseits,
schreib grad eine web app:
apache -> cgi -> wsgi -> cherrypy -> cheetah -> DAU
wenn ich auf die ebene von cherrypy nichts mit cheetah rendere, klappt alles, doch wenn ich cheetah benuzte kirege ich manchmal von apache einen 500 Internal server error.
kann es sein dass cheetah ein paar prints irgendwo hat und das die kommunikation mit cgi via stdout stoert?
irgendwelche ideen?
cheetah verwirrt cgi
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Costi!Costi hat geschrieben:apache -> cgi -> wsgi -> cherrypy -> cheetah
Wenn du zum Entwickeln den APACHE/CGI/WSGI-Part weg lässt, also direkt den CherryPy-Server startest, dann bekommst du Fehlermeldungen in der Konsole angezeigt. Vielleicht bringt dich das weiter.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ansonten hilft evtl. die Apache error log weiter. Wenn man da keinen Zugriff drauf hat, kann man mal versuchen alle stderr ausgaben in einer Datei um zu leiten.
Was evlt. auch hilft: Als aller erstes einen gültigen Header an den Client schicken. So könnte sich ein Fehler zeigen, der vor dem senden des Headers vorkommt.
Bei CGI, cgitb benutzten
Was evlt. auch hilft: Als aller erstes einen gültigen Header an den Client schicken. So könnte sich ein Fehler zeigen, der vor dem senden des Headers vorkommt.
Bei CGI, cgitb benutzten
danke fuer die tips!
Das mit cherrypy`s standalone server wird schwierig, weil ich die mysql datenbank nur vom hoster aus zugriefen kann. also muss man via ssh den server intern starten.
und ich hab auch kein browser oder port forwarding dort.... aber gut wofuer gibts netcat/urllib/wget
stderr leite ich mit
um?
Das mit cherrypy`s standalone server wird schwierig, weil ich die mysql datenbank nur vom hoster aus zugriefen kann. also muss man via ssh den server intern starten.
und ich hab auch kein browser oder port forwarding dort.... aber gut wofuer gibts netcat/urllib/wget
stderr leite ich mit
Code: Alles auswählen
import sys
sys.stderr = open("errors.txt", "w")
cp != mv
wenn ich lokal den cherrypy server laufen lasse klappt alles wie geschmiert,
nur auf dem web hoster (1und1) verursacht cheetah unter bestimmten bedingungen den internal server error
stderr liefert keine informationen
nur auf dem web hoster (1und1) verursacht cheetah unter bestimmten bedingungen den internal server error
stderr liefert keine informationen
cp != mv
Ich hab dem bug endlich!
und zwar bricht 1und1 anfragen, die zu viel rechenleistung kosten einfach mit einem internal server error ab!
ich hab 22 - `time(zwei mal doener holen)` stunden gebraucht um darauf zu kommen!!
und zwar bricht 1und1 anfragen, die zu viel rechenleistung kosten einfach mit einem internal server error ab!
ich hab 22 - `time(zwei mal doener holen)` stunden gebraucht um darauf zu kommen!!
cp != mv
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Naja, normalerweise braucht man zum Rendern einer Webseite auch nicht so viel Rechenleistung. Das ist auch von der Usability recht mies, wenn der User ewig warten muss.
Jetzt kannst du mal gucken, ob sich mit Jinja oder Mako noch etwas Leistung herausholen lässt
Jetzt kannst du mal gucken, ob sich mit Jinja oder Mako noch etwas Leistung herausholen lässt
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ich bin bisher auch nur einmal an die Limitierung gestoßen. Mit dem find&replace Plugin kann man in allen CMS Seiten einen String suchen und ersetzten lassen. Angezeigt wird dann ein Diff der Seite. Je nach dem wie viele Treffer man hat und wie niedrig das Limit ist, hat man ein Problem.
@Costi: Was macht denn deine WebApp?
@Costi: Was macht denn deine WebApp?
die web app sendet zwei sql queries... und zeigt dan die ergebnisse der zweiten query an....
viel mehr kann ich leider nicht sagen
eigentlich nichts wirklich rechenintensives, wahrscheinlich verursacht wsgi->cherrypy->Cheetah den zu grossen overhead zumal 1und1 wahrscheinlich von einer benutzung von "raw" cgi ausgeht
bei der gelegenheit kann ich vieleicht noch einen kleinen tip geben - wuerde mich interessieren wo dies sonst noch moeglich ist:
offiziel wird nur python 2.4 untertuetzt.
/usr/bin/python ist ein link zu /usr/bin/python2.4
aber siehe da es gibt auch /usr/bin/python2.5
also koennen wir python 2.5 benutzen:
viel mehr kann ich leider nicht sagen
eigentlich nichts wirklich rechenintensives, wahrscheinlich verursacht wsgi->cherrypy->Cheetah den zu grossen overhead zumal 1und1 wahrscheinlich von einer benutzung von "raw" cgi ausgeht
bei der gelegenheit kann ich vieleicht noch einen kleinen tip geben - wuerde mich interessieren wo dies sonst noch moeglich ist:
offiziel wird nur python 2.4 untertuetzt.
/usr/bin/python ist ein link zu /usr/bin/python2.4
aber siehe da es gibt auch /usr/bin/python2.5
also koennen wir python 2.5 benutzen:
Code: Alles auswählen
#!/usr/bin/python2.5
import sys
sys.path.append("/usr/lib/python2.4/site-packages/")
sys.path.append("/usr/lib/python2.4/")
cp != mv
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ein C-Modul das gegen Python 2.4 gelinkt ist, wird aber nicht mit Python 2.5 funktionieren und MySQLdb enthält ``_mysql``, was eben ein solches Modul ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice