Seite 1 von 1

Probleme mit Timeout

Verfasst: 16.01.2007, 11:32
von AGB
Hallo,

ich habe das Problem, dass mein Script ca. 2 Minuten Ausführungszeit hat. Auf dem Webspace, wo ich es installiere, ist aber max. 1 Minute vorgesehen und ich kann das nicht ändern.

Kann ich dieses Timeout irgendwie umgehen, ohne das der Benutzer mehrmals klicken muß?

Geht das mit AJAX und welche vorhandenen Klassen/Frameworks könnte ich für php nutzen?

Verfasst:
von

Verfasst: 16.01.2007, 11:47
von net(t)worker
ein

Code: Alles auswählen

set_timeout(0);
geht nicht?

ansonsten ist es schwer zu sagen was du machen könntest ohne zu wissen was das script macht und wie es arbeitet...

Verfasst: 16.01.2007, 12:00
von AGB
Das Script ruft einfach eine Funktion 1000mal auf und erhält immer einen Wert zurück. Der wird ausgegeben und am Ende noch eine Berechnung ausgegeben.

Ich habe jetzt ein wenig zu Ajax gelesen und denke, dass ich es damit am besten hinbekomme. Die Funktion rufe ich einfach per JS auf und füge die Ausgabe dynamisch in die Seite ein. Dann wird kein php ausgeführt unddas Timeout kann mir egal sein.

Verfasst: 16.01.2007, 19:53
von Kristian
Hallo

Ajax ist eine javascriptologische Technik, bei der Seiteninhalte dynamisch nachgeladen werden.
Was willst du nachladen?
Die Ausgabe des PHP-Scripts?
Die sollte dann in XML erfolgen, dafür steht wohl das x in Ajax.

Jetzt frage ich mich aber wieso bei dir dann kein PHP mehr ausgeführt wird....

Gruss
Kristian

Verfasst: 17.01.2007, 09:55
von SloMo
Ich schlussfolgere mal aus Deinen anderen Threads, dass da irgend welche fremden Webseiten geladen und analysiert werden sollen. Z.B. Google SERPs Position. Das kann man nicht wirklich gut optimieren, weil die Verzögerung durch die Antwortzeit des anderen Servers verursacht wird. Die "AJAX"-Lösung klingt sehr praxisnah. Ob das jetzt mit XML passiert, oder mit irgend einem anderen proprietären Format, ist doch (Hand aufs Herz) völlig schiet-egal.

Verfasst: 18.01.2007, 09:33
von SloMo
> Ich persönlich finde es immer lustig wenn ein neuer Server geordert wird, oder externe Maßnahmen ergriffen werden ohne ansich das Problem zu lösen.

Von irgend etwas müssen die Hoster auch leben!

Für den Fall funktioniert auch fsockopen() mit set_timeout() und stream_set_timeout() ganz gut. Falls mal kein cURL da ist.

BTW, 750 Seiten in 110 Sekunden kannste mir nicht in einem Echte-Welt-Szenario erzählen. Lass nur 2 % für je 5 Sekunden blocken, und Du hast schon 75 Sekunden verbraucht. Es gibt viele Seiten mit Antwortzeit größer eine Sekunde. Um das zu optimieren, muss man parallelisieren.

Verfasst: 18.01.2007, 10:12
von AGB
Die Google Serps parse ich lokal, aber auch die besagte Funktion ruft ein paar tausend externe URLs auf. Ich prüfe damit alle Unterseiten von mehreren Domains.

Danke für die Hinweise zur Lösung mit PHP. Inzwischen habe ich aber an der JavaScript Lösuing gefallen gefunden, da sich die Ergebnisliste dynamisch aufbaut, der Anwender also sofort Feedback bekommt.