2 Seiten im Cronjob aufrufen

Hallo!

Ich möchte gegen Mitternacht per Cronjob aus zwei verschiedenen Bereichen
Datenbankeinträge erstellen. (Bisher werden diese Einträge vorbereitet,
sobald der erste Benutzer eines neuen Tages die Seite aufruft. Das Script
rechnet jedoch einige Sekunden.)

Es sollen quasi zwei Seiten nacheinander aufgerufen werden. Eine Ausgabe
erfolgt nicht.

http://domain.de/seite1.php?prepare=1
http://domain.de/seite2.php?prepare=1

Geht das irgendwie?

Gruß

Michael
Michael Becker [ Mo, 14 Januar 2008 21:37 ] [ ID #1907644 ]

Re: 2 Seiten im Cronjob aufrufen

Hallo Michael,

Michael Becker schrieb:
> Hallo!
>
> Ich möchte gegen Mitternacht per Cronjob aus zwei verschiedenen
> Bereichen Datenbankeinträge erstellen. (Bisher werden diese Einträge
> vorbereitet, sobald der erste Benutzer eines neuen Tages die Seite
> aufruft. Das Script rechnet jedoch einige Sekunden.)
>
> Es sollen quasi zwei Seiten nacheinander aufgerufen werden. Eine Ausgabe
> erfolgt nicht.
>
> http://domain.de/seite1.php?prepare=1
> http://domain.de/seite2.php?prepare=1

Das kannst du z.B. per wget machen.
Besser wäre es wenn du die entsprechenden Scripte für eine Benutzung per
CLI vorbereitest und sie dann direkt aufrufst.
Also per "php /path/to/script.php"

> Geht das irgendwie?

Klar.

regards,
Jens
Jens Himmelrath [ Mo, 14 Januar 2008 22:20 ] [ ID #1907645 ]

AW: 2 Seiten im Cronjob aufrufen

Danke für deine schnelle Antwort, Jens.

"Jens Himmelrath" <muelleimer [at] zhayad.de> schrieb im Newsbeitrag
news:5v2221F1j90r5U1 [at] mid.dfncis.de...
> Hallo Michael,
>
> Michael Becker schrieb:
>> Hallo!
>>
>> Ich möchte gegen Mitternacht per Cronjob aus zwei verschiedenen
>> Bereichen Datenbankeinträge erstellen. (Bisher werden diese Einträge
>> vorbereitet, sobald der erste Benutzer eines neuen Tages die Seite
>> aufruft. Das Script rechnet jedoch einige Sekunden.)
>>
>> Es sollen quasi zwei Seiten nacheinander aufgerufen werden. Eine Ausgabe
>> erfolgt nicht.
>>
>> http://domain.de/seite1.php?prepare=1
>> http://domain.de/seite2.php?prepare=1
>
> Das kannst du z.B. per wget machen.
> Besser wäre es wenn du die entsprechenden Scripte für eine Benutzung per
> CLI vorbereitest und sie dann direkt aufrufst.
> Also per "php /path/to/script.php"

Was ist CLI? Und wie würde die Variante mit wget aussehen? Ich kenne gerade
mal den Befehl, wie ich ein Cronjob einrichte, bei mir mit lynx. Außerdem
stellt mir mein Anbieter nur einen Cronjob zur Verfügung.

Deswegen würde ich alles Weitere gerne diesem einen PHP-Script überlassen.
Ich habe ein paar Versuche mit include gemacht, aber da gab es schnell
Probleme mit mehrfach deklarierten Funktionen und der Gültigkeit von
(globalen) Variablen.

Michael
Michael Becker [ Mo, 14 Januar 2008 22:33 ] [ ID #1907649 ]

Re: AW: 2 Seiten im Cronjob aufrufen

Michael Becker schrieb:
> Danke für deine schnelle Antwort, Jens.
>
> "Jens Himmelrath" schrieb
>> Hallo Michael,
>>
>> Michael Becker schrieb:
>>> Hallo!
>>>
>>> Es sollen quasi zwei Seiten nacheinander aufgerufen werden. Eine Ausgabe
>>> erfolgt nicht.
>>>
>>> http://domain.de/seite1.php?prepare=1
>>> http://domain.de/seite2.php?prepare=1
>>
>> Das kannst du z.B. per wget machen.
>> Besser wäre es wenn du die entsprechenden Scripte für eine Benutzung per
>> CLI vorbereitest und sie dann direkt aufrufst.
>> Also per "php /path/to/script.php"
>
> Was ist CLI? Und wie würde die Variante mit wget aussehen? Ich kenne
> gerade mal den Befehl, wie ich ein Cronjob einrichte, bei mir mit lynx.
> Außerdem stellt mir mein Anbieter nur einen Cronjob zur Verfügung.

Cli ist php auf der Kommandozeile - also ohne Browser.
Lynx ist ein Textbrowser, wget ein tool mit dem du URLs herunterladen
kannst, curl ginge z.B. auch.

Ich würde bei Benutzung dieser Variante (die ich nciht für gut halte)
einfach "wget http://domain.de/seite1.php?prepare=1 && wget
http://domain.de/seite1.php?prepare=1" in den Cronjob schreiben.
Das würde zwar wahrscheinlich funktionieren ist aber aus verschiedenen
Gründen keine so gute Idee.

Wenn du nur einen Cronjob hast würde ich ein spezielles Script
schreiben, dass du per cronjob in minimalem Intervall aufrufst und von
dem aus dann andere Scripte gestartet werden. Da kannst du dann quasi
intern meherere Cronjobs simulieren.

> Deswegen würde ich alles Weitere gerne diesem einen PHP-Script
> überlassen. Ich habe ein paar Versuche mit include gemacht, aber da gab
> es schnell Probleme mit mehrfach deklarierten Funktionen und der
> Gültigkeit von (globalen) Variablen.

Argh! Na, da trifft dich dann auch direkt die Erkenntnis wieso der
benutze Programmierstil schlecht ist.
Du könntest diesen Anlass dazu nutzen deine Scripte neu zu schreiben,
den Code sauber in Klassen zu gliedern und globale Variablen nie wieder
zu benutzen.

Da ich allerdings auch nicht wirklich weiss was genau dein Script machen
soll, kann ich dir da natürlich keinen Tip geben.
Bau das Script so um, dass es von einer Datei aus bei einmaligem Aufruf
ausgeführt werden kann. Das ist auf jeden Fall sauberer als alles drum
herum.

regards,
Jens
Jens Himmelrath [ Mo, 14 Januar 2008 22:47 ] [ ID #1907650 ]

Re: 2 Seiten im Cronjob aufrufen

Michael Becker schrieb:
> Geht das irgendwie?

Ich würde dafür 2 CronJobs verwenden... :)

Aber alternativ geht doch bestimmt auch ein "header('Location...')" am
Ende der ersten Datei zur zweiten Datei dann. Natürlich nur wenn diese
keine Ausgabe produziert.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/
Christoph Herrmann [ Di, 15 Januar 2008 00:15 ] [ ID #1907651 ]

Re: AW: 2 Seiten im Cronjob aufrufen

Michael Becker schrieb:

> Was ist CLI?

Command Line Interface.

Gruß. Claus
Claus Reibenstein [ Di, 15 Januar 2008 17:23 ] [ ID #1908656 ]
PHP » de.comp.lang.php.misc » 2 Seiten im Cronjob aufrufen

Vorheriges Thema: zweidimensionales assoziatives Array shuffeln
Nächstes Thema: php script Problem.........