php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.05.2009, 00:08  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard Firefox startet Script bei Timeout wieder neu

Ich setze das mal in PHP-Einsteiger und hoffe, ich habe einen treffenden Titel gefunden. Dies ist keine Frage, sondern eine Beobachtung. An dem Problem habe ich einige Zeit geknabbert.

Szenario: Ich habe Daten, die auf einen fernen Shop-Server per GET zu übertragen sind. Die Methode ist so vorgeschrieben und ebenso das Datenformat.

PHP-Code:
// Schleife durch alle Zeilen der Source-Daten, darin dann :
  
$url 'http://example.org/index.php?feld1=dies&feld2=das';
  
$ergebnis =  file_get_contents($url);
  
$zaehler++; 
$ergebnis und $url nebst timestamp (datetime) schreibe ich in eine Logtabelle zur späteren Kontrolle.

Das klappte im Testbetrieb mit Datenmengen bis 200 Zeilen auch recht gut. Bei der Verarbeitung der ersten großen Tabelle mit 35.000 Zeilen war dann aber im Log zu sehen, dass offensichtlich das Script doppelt gelaufen war. Durch einen langsam antwortenden Zielserver (?) war das Script auf einen timeout gelaufen und hatte im Browser die bekannte Meldung (... konnte die Seite ... nicht öffnen) gebracht. (Durch den Doppellauf gab es zwar kein Datenchaos, die Fehlerlogs liefen aber heiß. Alles in allem eine unangenehme Situation.)

Ein Kollege hat das ganze dann mit der gleichen Input-Datei versucht zu reproduzieren, auch bei ihm lief das Script auf timeout, diesmal waren alle Daten aber nur einmal übertragen. Wir haben dann angenommen, dass beim Scriptaufruf vielleicht die Entertaste geprellt hatte und so das Script ein zweites mal gestartet wurde.

Bei einer weiteren Verarbeitung passierte das ganze nicht, auch hier wurden große Mengen an Daten gesendet, auch hier Script-Timeout, aber nur einmalige Datenübertragung.

Bei der dritten Verarbeitung dann wieder timeout, und diesmal wieder alles doppelt.

Ach ja - was heute erst rauskam: Der Kollege hatte das ganze immer im IE laufen lassen, und ich immer im Firefox. Und daher sind wir heute drauf gekommen, was da passiert:

Bei einem Timeout versucht FF noch ein letztes (zweites) Mal, die problematische Seite zu erreichen und setzt einen erneuten Request auf den gewünschten URL ab. Erst wenn das auch nicht klappt, wird die Fehlermeldung angezeigt. Insofern hat FF das Script beim Timeout selbst neu angeworfen. Der IE macht das offensichtlich nicht.

Man kann das wohl bei about:config irgendwo abschalten, aber wir haben das Script nun lieber timeout-sicher gemacht und hoffen, dass diese Info irgendjemandem später mal hilfreich sein kann.
Wolla ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.05.2009, 09:30  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

Das Problem hatte ich auch schon ein paar mal. Jedes mal hat es mich ein paar Stunden zurück geworfen.

Wie bist du dabei vorgegangen? Ich habe über die Session gespeichert das mein Script bereits ausgeführt wurde, da es von Usern angestossen wurde und nicht maschinell.
__________________
twitter.com/moveax1 || http://modxcms.com/ || http://ubuntuusers.de/

$live->free() OR die();
moveax1 ist offline  
Alt 18.05.2009, 18:07  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Ich hab sehr wenig Zeit gehabt, etwas gescheites zu überlegen. Die Idee mit der Session kam auch kurz auf, aber der Zeitaufwand, das mit großen Datenmengen ausreichend zu testen ist einfach zu groß. Ich bin auch nicht sicher, ob der erneute Aufruf des Scripts nicht eine zweite Session starten könnte und die beiden Scriptinstanzen dann nichts voneinander wissen.
Wir haben eine brutale Augabe mit echo gemacht, wodurch der Browser kein Timeout bekommt. Die Scriptlaufzeit hat sich dadurch um rund 15% vergrößert, was in diesem speziellen Fall aber unerheblich ist. Ich starte das und schnapp mir dann den Hund um Gassigehen
Wolla ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Script geht mit Firefox....mit IE keine Aktion comriker PHP Tipps 2009 4 25.02.2009 09:49
php script mit html script verbinden Bimbo-01 PHP Tipps 2009 2 21.02.2009 14:11
gleiches script triggern mit und ohne Variablenübergabe steve_2000 PHP Tipps 2008 2 04.12.2008 17:34
Upload Script bleibt einfach stehen SniperWolf PHP Tipps 2008 4 19.09.2008 19:39
Wie bekomme ich dieses Script auf dem Firefox zum laufen? ThaRider HTML, Usability und Barrierefreiheit 1 03.10.2005 11:21
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Script Interpretaion läuft falsch im Firefox PHP-Fortgeschrittene 23 11.05.2005 19:01
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Fehler bei Script, welches Ordner erstellt PsychoEagle PHP Tipps 2005 3 23.04.2005 16:03
[Erledigt] python script mit php aufrufen... PHP-Fortgeschrittene 1 17.11.2004 17:11
PHP Script aus PHP aufrufen Stümper PHP Tipps 2004 5 26.09.2004 08:15
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04
suche script timeout oder paidlink oder ähnliches Beitragsarchiv 0 27.08.2004 21:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
nicht antwortender skript, firefox startet immer wieder neu, firefox timeout, firefox script timeout, http://www.php.de/php-einsteiger/55200-firefox-startet-script-bei-timeout-wieder-neu.html, firefox startet erst beim zweiten mal, php timeout umgehen, timeout firefox, script firefox, php script timeout, php file_get_contents timeout, firefox php timeout, javascript große tabellen timeout, \warnung: nicht antwortender skript§, nicht antwortende scripts, php script startet neu, firefox php script timeout, scriptlaufzeit firefox, script timeout, request timeout doppelt

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum