CGi Problem

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Hanman
User
Beiträge: 48
Registriert: Mittwoch 31. März 2004, 12:24
Kontaktdaten:

Freitag 31. Dezember 2004, 15:05

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?
'Ich liebe es wenn ein Plan funktioniert'
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 4. Januar 2005, 10:28

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

Dienstag 4. Januar 2005, 11:17

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"
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Dienstag 4. Januar 2005, 20:24

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...
Antworten