Seite 1 von 1

CGi Problem

Verfasst: Freitag 31. Dezember 2004, 15:05
von Hanman
Hallo,
ich führe meine in PYthon geschriebenen Skripte immer über den kleinen Webserver aus, den man sich mit Python zusammenbasteln kann, weil dieser so schön einfach zu bedienen ist, Apache zu installieren wäre mir jetzt zuviel Arbeit und alles immer auf meinen Server laden zum testen auch ;)

Leider reagiert der Server gar nicht mehr wenn ich ein Skript mit http://localhost:8080/cgi-bin/skript.py ausführen möchte. In Mozillas Statusleiste steht nur 'Waiting for localhost' Was kann ich da tun?

Verfasst: Dienstag 4. Januar 2005, 10:28
von Leonidas
Warscheinlich laeuft dein Script in einer Dauerschleife. Aber ohne den Code ist das schwer zu sagen. Apache hat eine Maximale CGI Lebenszeit, da passiert sowas nicht. Du solltest mal schauen, ob waehrend Mozilla auf localhost wartet, bei dir in den Prozessen ein Python auftaucht.

Verfasst: Dienstag 4. Januar 2005, 11:17
von genrich
Teste dein Skript von oben nach unten durch, indem du wichtige "Zwischenwerte" per print ausgeben läßt und beende es danach mit sys.exit() und so schrittweise druchgehen... Irgendwann stolperst du schon über den Fehler, ab dem er sich "aufhängt"

Verfasst: Dienstag 4. Januar 2005, 20:24
von Milan
Es liegt nicht am Skript, sondern am Server (Python). Verweis im Quellcode:
In all cases, the implementation is intentionally naive -- all
requests are executed sychronously.
Der Server kann also nur eine Anfrage nach der anderen beantworten, da er immer noch auf die Ausgabe des vorigen Prozesses wartet. Eine Alternative bietet ein selbstgeschriebener Server, der Threading/Forking beherrscht. Hier gibts ein Beispiel von mir...