Portal > Foren > PHP > PHP-Programmierung > Cronjob: Datei mehrmals aufrufen
Antwort
 
Themen-Optionen
Alt 28.05.2008, 14:39 Nach oben    #1
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 54
Standard Cronjob: Datei mehrmals aufrufen

Hallo,

ich habe eine Frage zur Umsetzung bei der Verwendung von einem Cronjob und einer Datei, die mehrmals aufgerufen werden soll um die PHP-Skriptlaufzeit zu umgehen, wobei der Cronjob die Datei nur einmal anstoßen soll.


Ich habe eine Datei, die Daten abgleicht. Dieser Abgleich soll nicht durch die Skriptlaufzeit abgebrochen werden, daher möchte ich den Abgleich in kleine Portionen unterteilen.

Die Datei wird alle 24h per Cronjob aufgerufen.

Jetzt ist die Frage, wie kann ich diese Datei nach einem jeweiligen Durchlauf von sich selbst aufrufen lassen?


Ich hatte die Idee über Metarefresh oder curl_init(), aber es hat leider nicht den Erfolg gebracht, den ich wollte.

Den neuen Abschnitt, also die Portion hatte ich an die URL angehangen bzw. curl_init() auch per Post probiert.

Vielleicht hat ja schon jemand mit so einem Problem Erfahrung gesammelt oder einen Tipp, wie ich das umsetzen kann?!

Grüße
julien
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.05.2008, 14:49 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

wenn du die Möglichkeit hast das PHP-Skript über CLI aufzurufen, dann sollte das auch ohne refresh möglich sein.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.05.2008, 16:52 Nach oben    #3
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 406
Standard

also ich könnte zwar auch völlig falsch liegen, aber was ist mit der header funktion
also einfach am ende eine headerweiterleitung zum selben script machen und dann per GET param den nächsten startwert übergeben!
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.05.2008, 17:52 Nach oben    #4
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

Ich bin mir nicht sicher, aber ich meine, dass das nicht geht....

Lasse mich da aber gerne korrigieren!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.05.2008, 23:43 Nach oben    #5
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 149
Standard

Ich glaube so etwas sogar schonmal gesehen zu haben.
Allerdings solltest du beachten, das Webseiten, welche durch Automatische Cronjobs aufgerufen werden, meistens durch wget oder lynx aufgerufen werden, welche unter umständen nicht die Funktionalität zur verfügung stellen, die du brauchst (z.B. Header refresh).

Sauber wäre wirklich die php-Datei direkt über die CLI aufzurufen (Läuft dann direkt lokal auf dem server und bricht auch nicht nach 30 Sek ab, da sie nicht durch einen Browser aufgerufen wird).
Sclot ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 08:22 Nach oben    #6
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 298
Standard

Zitat:
Zitat von Sclot Beitrag anzeigen
Sauber wäre wirklich die php-Datei direkt über die CLI aufzurufen (Läuft dann direkt lokal auf dem server und bricht auch nicht nach 30 Sek ab, da sie nicht durch einen Browser aufgerufen wird).
max_execution_time greift auch bei einem Aufruf via CLI.
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 09:31 Nach oben    #7
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

Zitat:
Zitat von Bleistift Beitrag anzeigen
max_execution_time greift auch bei einem Aufruf via CLI.
Mag sein, aber man kann eine modifizierte php.ini für CLI benutzen.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 09:49 Nach oben    #8
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
Standard

Also wenn du sowas bei nem normalen Webhoster machst, kann der unter Umständen Böse werden und hat dann auch das Recht dir deinen Vertrag zu kündigen, denn der setzt seine Limits nicht zum Spass und dir sollte halt klar sein, dass das zu lasten aller anderen User auf dem Server geht, die zu der Zeit auch Script laufen haben.

Du solltest also eher einen der folgenden Wege gehen:
1) versuchen das Script weiter zu optimieren
2) Mit dem Hoster reden ob es Möglichkeiten gibt z.b. die execution_time zu erhöhen
3) Überlegungen in Richtung eines VServers anstellen wenn du fit genug mit Linux bist um den zu pflegen und warten, weil dort kannst du was die execution_time angeht eigentlich machen was du willst.


Der ganze Kram mit header und co, kann nur funktionieren wenn der Cron ein passendes programm nutzt um das jeweilige Script aufruft, das weiterleitungen folgt, spricht einen Browser (sehr sehr unwahrscheinlich und der folgt auch nicht unbegrenzt redirects !), wget/lynx mit passenden paramtern oder ähnliches (funktioniert nur wenn kein timeout oder redirect-limit überschritten wird, also keine wirklich zuverlässige lösung)
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 10:31 Nach oben    #9
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

Die Alternative wäre das auch mehrere kleiner cronjobs aufzuteilen. In der DB kannst du dir ggf. merken, wie weit du schon gekommen bist.
Entsprechend viele einzelne cronjobs müsstest du halt laufen haben - hintereinander natürlich...
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 13:30 Nach oben    #10
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 54
Standard

Hi,

erstmal Danke für die ganzen Tipps!

Also in der Tat läuft das Script momentan auf einem normalen Webhosting-Account. Den Wechsel auf einen Vserver habe ich auch schon in Betracht gezogen, aber leider fehlt mir hier noch etwas die Erfahrung in Sachen Linux.

CLI werde ich mir mal anschauen.

Werde wahrscheinlich dann die Methode von "Jann Hendrik" nehmen und mehrere Cronjobs laufen lassen oder das Script manuell bzw. dann teilweise per Hand im Browser anstoßen.

Grüße
julien
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 14:06 Nach oben    #11
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

im Browser - damit hast du dann ja auch wieder ganz andere Möglichkeiten....
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 15:34 Nach oben    #12
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 54
Standard

Jetzt hast du mich neugierig gemacht, an welche Möglichkeiten hast du gedacht?
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 15:48 Nach oben    #13
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

naja - durch einen refresh, oder durch die Nutzung von JS, kann man sowas ja durchaus umgehen.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.05.2008, 20:55 Nach oben    #14
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 54
Standard

Ok, so wie ich es schon umgesetzt hatte also auch
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

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 aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei über FTP-Funktionen erstellen Jan PHP-Programmierung 1 08.03.2007 20:36
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
HTML / PHP - Datei auslesen ghost Allgemeine Java-Programmierung 9 30.09.2005 07:37
Textausgabe in Datei obiwankenobi Allgemeine Java-Programmierung 2 09.05.2005 12:51
Java findet Datei nicht Niki_Tesla Allgemeine Java-Programmierung 14 14.12.2004 22:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:38 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44