![]() |
|
|
Themen-Optionen |
|
|
Nach oben #3 |
|
Der Student
Registriert seit: 03.01.2007
Ort: München
Beiträge: 86
|
Warum möchtest du dass sich ein Cronjob nochmal aufruft? Dadurch wird es doch zu einer Endlosschleife!
__________________
Wenn ich du wäre, wäre ich lieber ich. http://www.clubstars.net http://www.x-tinct.de |
|
|
|
|
|
Nach oben #4 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.195
|
das hat doch mit cronjobs nichts zu tun...
mach bei der aufgerufenen Seite einfach keine Ausgabe, und dann kannst du header() nutzen.
__________________
Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
|
|
|
|
|
Nach oben #5 |
|
Der Student
Registriert seit: 03.01.2007
Ort: München
Beiträge: 86
|
Also mir ist keine Lösung bewusst die das dann effektiv ausführt.
Das einzigste wäre eben wenn der User im Browser das Skript aufruft und dieses sich dann wiederholt öffnet!
__________________
Wenn ich du wäre, wäre ich lieber ich. http://www.clubstars.net http://www.x-tinct.de |
|
|
|
|
|
Nach oben #6 |
|
Erfahrener Benutzer
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 774
|
Ich würde versuchen, zwei Eingänge für das Skript zu gestalten. Einen, der nur per Cronjob ansprechbar ist und einen, der über HTTP zugänglich ist. Wenn du nicht fertig wirst, dann speicherst du einen Hash auf dem Server und rufst das Skript mit kurzem Timeout und mit dem Hash als GET-Parameter via fsockopen() über den öffentlichen Eingang auf und so alt immer weiter bis du fertig bist. Wenn alles erledigt ist, löschst du den Hash und machst damit die Tür über HTTP wieder zu.
Basti |
|
|
|
|
|
Nach oben #7 |
|
leftover when bar closes
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
|
Es gibt eine Möglichkeit.
Bei meinem Host (auch shared) reicht es, eine eigene php.ini mit max_execution_time = 0 zu definieren, resp. im Script selber mit ini_set() so einzustellen, oder es sollte ebenfalls möglich sein (falls die Funktion verfügbar ist), mit system() das Script neu aufzurufen und wieder die standardmässigen 30 Sekunden zur Verfügung zu haben... Das hast Du aber bestimmt schon ausprobiert. Ansonsten frage einmal bei Daniel nach (daniel-schlichtholz.de), einem der beiden Macher des mysqlDumpers. Das Script arbeitet nach demselben Prinzip - es ruft sich selber unendlich oft erneut auf, und ermöglicht so das dumpen von riesigen MySQL DBs auch bei eingeschränkter Hosting Umgebung.
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner. ticketbörse |
|
|
|
|
|
Nach oben #8 | |
|
BIN EIN KRASSA HELD!!!111
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.181
|
Zitat:
|
|
|
|
|
|
|
Nach oben #9 |
|
leftover when bar closes
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
|
Nee eben, das ists gerade: der mysql Dumper kann auch als Cron ausgeführt werden (Perl script), und auch da klappt die Umgehung des Timeouts wunderbar. Wies gemacht wird weiss ich wie gesagt nicht
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner. ticketbörse |
|
|
|
|
|
Nach oben #10 | |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.195
|
sry - dann habe ich auch mal wieder was gelernt...
Zitat:
Aber für den Aufruf per cronjob nutzt das ein perl-Skript.
__________________
Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
|
|
|
|
|
|
Nach oben #11 |
|
Erfahrener Benutzer
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 296
|
Ich kann mich auch irren, aber meistens hat man bei Perl keine max. Ausführungszeit... Du könntest also ein Perl-Script schreiben, welches dein PHP-Script immer wieder aufruft, bis dein Script fertig ist. Anstossen kannst du das Perl-File ja dann per Cronjob.
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination. |
|
|
|
|
|
Nach oben #12 |
|
leftover when bar closes
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
|
Stimmt, geht mittels Perl Script... Ich dachte, das hätte in etwa dieselben Einschränkungen, sorry
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner. ticketbörse |
|
|
|
|
|
Nach oben #13 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.195
|
eine uncoole Möglichkeit wäre eine Seite mit frames aufzubauen, wo du Stück für Stück kleine Bruchteile abarbeitest, wenn du das was du vorhast parallel abarbeiten kannst.
Wieviele Fenster dein frame haben muss kannst du berechnen, wenn du weißt, wieviel in einem Fenster abgearbeitet werden kann, ohne dass es zu einem Abbruch kommt und du weißt, wieviel du insgeammt arbeiten musst. Eine andere Idee, die mir gerade kommt... coppermine hat ein ähnliches Problem bei der Erzeugung von thumbnails. Dort wurde das so gelöst, dass man eine Seite sieht, wo Grafiken eingebunden werden, die in echt PHP-Skripte sind, welche die Bilder erzeugen. Wenn du nun eine Seite mit 10 Bildern hast, die von PHP erzeugt werden müßen, wobei jedes PHP-Skript ersteinmal ein wenig arbeitet, dann kannst du damit die Zeit auch ein wenig drücken, weil die vom cronjob aufgerufene Seite ja nur auf die Bilder wartet.
__________________
Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
|
|
|
|
|
Nach oben #15 |
|
Erfahrener Benutzer
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 774
|
Wo ist denn das Problem? Du kannst, wie von mir hier beschrieben, per CronJob doch einen HTTP-Request absetzen und das Skript dann dicht machen, ohne auf die Antwort zu warten. Damit kannst du das Skript immer wieder sich selbst aufrufen lassen. Musst halt nur sicherstellen, dass der Zugriff kontrolliert abläuft.
Basti |
|
|
|
|
|
Nach oben #16 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.195
|
hach Mist....
okay, dann bleibt dir neben dem perl-Skript auch noch die Möglichkeit einfach mal den support von all-inkl.com zu fragen. Die antworten idR schnell und hilfreich! Ich habe jedenfalls fast immer gute Erfahrungen gemacht.
__________________
Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
|
|
|
|
|
Nach oben #17 |
|
BIN EIN KRASSA HELD!!!111
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.181
|
Um es auf den Punkt zu bringen, das Script braucht zu viel Performance, bei sowas sollte man sich dann halt irgendwann überlegen sich nen V-Server zuzulegen, da kann man sein PHP einstellen wie man will.
Ausserdem sollte man vieleicht auch an die anderen Leute die denken die bei Shared-Hosting mit auf der eigenen Kiste sind, weil wer würde sich nicht aufregen, wenn der Server den ganzen Tag andauern ausgelastet ist, weil jeder seine rechen-intensiven Cronjobs laufen lässt. |
|
|
|
|
|
Nach oben #18 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.195
|
gibt ja auch noch die Möglichkeit, dass das nicht den ganzen Tag läuft, sondern nur gelegentlich.
Aber generell hast du Recht - ist den anderen nicht fair, daher ist es ja auch nur ein shared-Server. Ggf. mal den hoster, hier also all-inkl.com ansprechen, ob sie eine vertretbare Lösung vorschlagen können.
__________________
Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
|
|
|