Zu lange laufendes CGI-Skript?

Hallo,

kann es sein, dass zu lange laufende CGI-Skripte (mehrere Minuten) vom WebServer (Apache) abgebrochen werden?
Wenn ja, wie kann man diesen Timeout verändern?

Danke

Ben

Hallo,

kann es sein, dass zu lange laufende CGI-Skripte (mehrere
Minuten) vom WebServer (Apache) abgebrochen werden?

Ja, ich denke schon.

Wenn ja, wie kann man diesen Timeout verändern?

Sicher nicht mit perl, sondern in den config-Dateien von Apache (die übrigens gut dokumentiert sind [das ist ein Hinweis])

Grüße,
Moritz

Hallo,

ich denke auch dass man da in Apache was einstellen kann. Aber es geht hier um gekauften WebSpace und da hat man leider keine Möglichkeit die Config-Datei von Apache zu modifizieren, oder?

Danke

Ben

Hallo,

ich denke auch dass man da in Apache was einstellen kann. Aber
es geht hier um gekauften WebSpace und da hat man leider keine
Möglichkeit die Config-Datei von Apache zu modifizieren, oder?

Nein, hat man nicht. Das ist ein Fall für den Support des Webhosters.

Grüße,
Moritz

Hi,

es geht hier um gekauften WebSpace und da hat man leider keine
Möglichkeit die Config-Datei von Apache zu modifizieren, oder?

das ist vom Webhoster so gewollt, auch wenn Du für cgis
bezahlt hast.

Wenn Du trotzdem langwierige Berechnungen durchführen musst, dann kannst Du entweder einen eigenen Server mieten oder wenn das zu teuer ist, kannst Du (etwas umständlich) um die Beschränkung herum proggen.

Wie das geht? wie gesagt umständlich. Du musst den Timeout kennen. dann brauchst du session ids und eine Datenbank mit Zwischenergebnissen. In einem Wechselspiel zwischen Client (Javascript) und Server (CGI) und Timern ( Javascript und CGI ) wird anhand der Session ID das Ergebniss in mehreren Schritten berechnet. Zwischenergebnisse des CGIs werden progressiv temporär in die Datenbank abgelegt. Ein CGI-Aufruf muss in der Rückgabe klar machen, ob die Berechnung fertig ist, oder nicht. Wenn nicht fertig wird am Browser ‚Bitte warten‘ oder so ähnlich angezeigt und das CGI mit der sessionid erneut aufgerufen, welches dann erstmal in der Datenbank nachsieht, ob es schon Zwischenergebnisse zu der sessionid gibt, wenn fertig wird das Ergebnis ausgegeben.
Das ist eine gute Übung für webprogrammierung :wink:

unimportant