php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.12.2011, 15:46  
Erfahrener Benutzer
 
Registriert seit: 28.06.2009
Beiträge: 109
PHP-Kenntnisse:
Fortgeschritten
eisenhans befindet sich auf einem aufstrebenden Ast
Standard PHP-Skript gepflegt beenden

Hallo,

stoß jetzt des öfteren auf dasselbe Problem:

Hab sehr intensive Skripte laufen ohne SetTimeout Begrenzung und muß manchmal (z.B. weil ich einen Fehler gemacht habe, oder weil zuviel vom Server blockiert wird) das Skript anhalten.

Auf meinem localhost und auf einen Testserver habe ich bisher einfach einen Reset von Apache und mySQL gemacht, was in der Regel funktioniert.

Jetzt hab ich das Selbige allerdings auf einem Live-Webserver, den ich nicht mal eben reseten kann.

Vom Ansatz würde ich jetzt denken, ich leg mir um diese rechenintensiven Skripte einen Wrapper, der beim Start ein Flag (z.B.über Session) setzt,
in regelmäßigen Abständen wird dann vom Skript überprüft, ob das Flag auf Abbruch steht.

Ist das so sinnvoll, oder gibt es andere, vielleicht auch einfachere Vorgehen
__________________
Webstammtisch Oldenburg
eisenhans ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.12.2011, 15:49  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Wie wärs wenn du im Script einfach an den relevanten Abbruchstellen ein exit; platzierst?
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 12.12.2011, 15:56  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Könnte man machen, aber ganz sicher nicht über die Session, die bleibt ja während dem Aufruf geöffnet. Benutze lieber eine separate Datei als Signal und prüfe deren Existenz.

Andererseits: Schonmal versucht, in so einem Fall den entsprechenden Apache Child Process einfach mit kill zu beenden?
fab ist offline   Mit Zitat antworten
Alt 12.12.2011, 16:03  
Erfahrener Benutzer
 
Registriert seit: 28.06.2009
Beiträge: 109
PHP-Kenntnisse:
Fortgeschritten
eisenhans befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Könnte man machen, aber ganz sicher nicht über die Session, die bleibt ja während dem Aufruf geöffnet. Benutze lieber eine separate Datei als Signal und prüfe deren Existenz.

Andererseits: Schonmal versucht, in so einem Fall den entsprechenden Apache Child Process einfach mit kill zu beenden?
Versucht ja, aber da hatte ich Probleme mit den Rechten anscheinend.
Obwohl ich als root auf dem Webserver war, hat der kill nichts gebracht, ohne irgendeine Meldung ..?

Gibt es nicht auch irgendein komfortables Tool, was auf dem Apache aufsetzt ?

Wobei die Lösung mit dem Flag in einer Datei ja auch noch am saubersten ist, heißt aber auch, die Überwachung überall einzupflegen...

@Dark Guardian: Ich weiß ja vorher nicht, wo, wann und ob ich abbrechen möchte ...
__________________
Webstammtisch Oldenburg
eisenhans ist offline   Mit Zitat antworten
Alt 12.12.2011, 16:36  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Benutze lieber eine separate Datei als Signal und prüfe deren Existenz.
So würde ich es auch machen. Datei anlegen beim Start, stetig die Existenz prüfen und wenn diese nicht mehr vorhanden ist -> exit.

Alternativ kann man einen Reset-Port einrichten, auf dem gehorcht wird, wenn da was reinkommt -> exit. Sollte (muß!) entsprechend abgesichert werden.
jspit ist offline   Mit Zitat antworten
Alt 12.12.2011, 16:56  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Mal eine ganz andere, grundsätzliche Frage, wieso lässt du rechenintensive Scripte überhaupt über den Apache laufen anstatt über Konsole? Dann hätte dein Script einen eigenen Prozess und du müsstest dich nicht mit dem Apache rumärgern.

Dann wäre ggf. das hier was für dich:
http://www.php.net/manual/de/function.pcntl-signal.php
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 12.12.2011, 19:18  
Erfahrener Benutzer
 
Registriert seit: 28.06.2009
Beiträge: 109
PHP-Kenntnisse:
Fortgeschritten
eisenhans befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Dark Guardian Beitrag anzeigen
Mal eine ganz andere, grundsätzliche Frage, wieso lässt du rechenintensive Scripte überhaupt über den Apache laufen anstatt über Konsole? Dann hätte dein Script einen eigenen Prozess und du müsstest dich nicht mit dem Apache rumärgern.
Bisher ärgert mich der Apache ja gar nicht

Nein, im Ernst, ich hab alle Masken, Konfigurationen, Datenbankkontrollen über mein Webinterface, das jetzt nochmal neu für CLI aufzusetzen, ist glaub ich zuviel Aufwand.

Zum Anderen hab ich CLI auch noch nicht benutzt ...

Zitat:
Zitat von Dark Guardian Beitrag anzeigen
Dann wäre ggf. das hier was für dich:
http://www.php.net/manual/de/function.pcntl-signal.php
Das sieht gut aus, schau ich mir nochmal an, PCNTL stand eh schon auf dem Zettel ...
__________________
Webstammtisch Oldenburg
eisenhans ist offline   Mit Zitat antworten
Antwort


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
Prozessorauslastung fällt während Skript läuft (unter Ubuntu) k3kz PHP-Fortgeschrittene 12 13.05.2011 13:59
Daten von Skript in eine DB übertragen und updaten lassen BradPat Datenbanken 5 13.01.2011 15:34
Kann man mit einem eingebundenem PHP Skript auf den Text einer HTML-Seite zugreifen? HottiWF PHP Tipps 2010 10 18.03.2010 18:20
Skript einbau - Sicherheit Rubio PHP Tipps 2010 4 13.02.2010 19:37
perl skript aus php skript aufrufen axmuellser PHP Tipps 2009 1 16.04.2009 17:59
Skript auf einem anderen Server! aha_01 PHP Tipps 2008 3 05.12.2007 09:02
Startup Skript m_haussner Datenbanken 3 10.10.2007 20:56
.htpasswd (im geschützten Ordner!) per skript ändern! Funky_ PHP Tipps 2006 8 22.07.2006 18:03
ein Skript startet ein zweites... ajo_silent PHP-Fortgeschrittene 8 03.05.2006 13:42
Systemprozesse beenden PHP Tipps 2005-2 3 12.08.2005 06:52
Skript "tarnen"? Off-Topic Diskussionen 17 07.08.2005 19:42
Ein php skript aus einem anderen skript heraus aufrufen PHP Tipps 2005-2 8 06.08.2005 20:23
Javascript - CountUP Skript zählt falsch.. Chr!s HTML, Usability und Barrierefreiheit 0 28.03.2005 14:32
[Erledigt] php skript ruft anderes php skript auf PHP-Fortgeschrittene 7 09.01.2005 23:06
SKRIPT GESUCHT - Werbung auf einer site anzeigen Beitragsarchiv 4 29.08.2004 14:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php script beenden, php skript beenden

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:35 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