"CronJobs" mit PHP

cr4m0

Angesehenes Mitglied
Problem:
Ich nutze für zwei meiner Seiten viele CronJobs. Jetzt hat mein Hoster aber die IP-Ranges von CronJob.de gesperrt. Beim Hoster selbst kann ich mit meinem Tarif keine CronJobs erstellen. Deshalb muss ich jetzt irgendeinen Ersatz für die CronJobs suchen.

Meine Idee:
Die Dateien werden statt mit echten CronJobs einfach mit PHP aufgerufen. Man erstellt eine MySQL-Tabelle:
- datei (URL; z.B. "http://www.example.org/script.php")
- last (Timestamp des letzten Aufrufs)
- intervall (Zeitraum zwischen zwei Aufrufen; z.B. "3600" für eine Stunde)
Man schreibt ein PHP-Script:
CODE <?php
$sql1 = "SELECT datei FROM cronjobs WHERE (zeit+intervall) < AKTUELLER_TIMESTAMP ORDER BY RAND() LIMIT 0, 1";
$sql2 = mysql_query($sql1);
if (mysql_num_rows($sql2) == 0) { exit; }
$sql3 = mysql_fetch_assoc($sql2);
file_get_contents($sql3['datei']);
$sql4 = "UPDATE cronjobs SET last = AKTUELLER_TIMESTAMP WHERE datei = '".$sql3['datei']."'";
$sql5 = mysql_query($sql4);
?>

Dieses Script bindet man per include() in allen Dateien der Webseite ein. So hat man auch CronJobs, wenn man genügend Besucher auf der Seite hat.

Was haltet ihr von dieser Idee? Kann man sie noch verbessern? Habt ihr andere Vorschläge?
 
Je nach Script muss der Besucher, der denn Cronjob trifft, lange auf die Ausgabe der Webseite warten, obwohl ja seines Ermessens nicht viel geladen werden muss.

Ich würde vorschlagen, dass du dir einen Freund/Bekannten suchst (mich fragen), der Cronjobs erstellen kann mit seinem Account und dann bei dir eine php Datei aufruft und dadurch deine Cronjobs gestartet werden.

Oder du erstellst dir eine Seite, welche du in deinem Browser als Startseite definierst, dann werden die Cronjobs von dir gestartet, wenn du den Browser öffnest, jenachdem wie oft du online bist.

Um was für Cronjobs geht es denn? Evt. kann man Berechnungen auch realtime für jeden User durchführen.
 
Man könnte das Script ja auch statt per include() als 1x1-Pixel-Frame einbinden, oder? Dann würde die Seite schnell fertig laden und der Besucher merkt nichts vom CronJob.
Realtime für jeden Besucher geht leider nicht, bei den CronJobs ist nämlich u.a. ein Crawler dabei.
Man kann die PHP-Scripts, die ausgeführt werden sollen, ja auch ganz klein halten, sodass sie in <1 Sekunde fertig sind.

Vielleicht hat hier ja noch jemand eine bessere Idee als diese.
 
Frag doch mal bei deinem Hoster nach, also Cronjobs sind ja nicht so ein grosses Ding.
 
Hab ich schon: geht leider nicht! Ich bin bei HostEurope, da kann man Addons kaufen. CronJobs sind aber nicht dabei. Ich habe ein WebPack 2.0. Die CronJobs sind erst in den WebPacks Pro enthalten (mindestens 19€/Monat mehr).
Ich muss mir also irgendeine Alternative suchen.
 
Du könntest dir auch einen kleines Script schreiben was bei dir auf dem Rechner liegt und jede Stunde eine bestimmt Seite dann bei dir aufruft. Zudem kannst du diese Seite dann auch noch mit einen Passwort schützen das nicht jeder Zugriff auf deine Cronob-Datein hat. Funktioniert natürlich nur wenn dein Rechner 24Stunden läuft und 24Stunden im Netz ist. Also so wie bei mir ^^
 
hmmm bin auch bei HostEurope.. Seit wann ist denn cronjob.de gesperrt? Ist mr bis jetzt noch nicht aufgefallen :/
 
@DZVO: Gute Idee, aber leider ist mein Computer nicht so lange an.
smile.gif

@KarstenS: Ich habe die Probleme auch erst seit 2-3 Tagen. Ich hab den Support mal angeschrieben: Auf dem Server ist im Moment die IP-Range von cronjob.de und cronjobs.cc gesperrt. Warum weiß ich nicht. Wie lange das noch gesperrt ist weiß ich auch nicht. Dann hab ich mal cron-job.org ausprobiert, funktioniert auch nicht.

Danke nochmal an alle für die vielen schnellen Antworten!
 
Hallo,

ja seit wann ist bei Hosteurope Cronjob.de gesperrt?

Bei uns laufen 3 Cronjobs, die alle 5 Minuten ein Script auf dem Webspace von Hosteurope aufrufen (Newsletter, Versenden von Mails etc.). Und die laufen seit Monaten und auch aktuell ohne Probleme. Solltest Du mal bei Hosteurope anrufen. Das Problem muss ein anderes sein.

Grüsse
Mirko
 
Bei mir liefen die CronJobs ja auch monatelang ohne Probleme - bis vor ein paar Tagen. Ich hab den Support ja schon angeschrieben:
QUOTE auf dem Server sind derzeit einige IP-Ranges geblacklisted, darunter auch die Ranges, in der sich cronjob.de sowie cronjobs.cc befinden.

Wahrscheinlich liegen deine Seiten einfach auf einem anderen Server bei HostEurope.
 
Na hast Du mal bei Hosteurope angerufen? Meine Erfahrung ist, dass der telefonische Support besser ist als der per E-Mail bzw. mehr machen kann.

Ich wüsste auch nicht was Hosteurope von der Sperrung von Cronjob.de haben sollte. Ein Cronjob verursacht in der Regel nur Traffic (bzw. das Script was durch den Cronjob.de ausgeführt wird). Wenn Dein Traffic verbraucht sein sollte, dann zahlst Du den Mehrtraffic. Also hat doch eigentlich Hosteurope keine Nachteile mit den Cronjobs, oder?

Grüsse
Mirko
 
Ich weiß auch nicht, warum man diese CronJob-Services sperren sollte. Wie du schon gesagt hast: Wer mehr Traffic verbraucht, muss ja eh zuzahlen. Ich hab deshalb noch mal den E-Mail-Support angeschrieben.
Wenn ich keine vernünftige Antwort bekomme, werde ich mal den Telefon-Support testen.

Eine Idee hätte ich aber schon: Es kann ja sein, dass in den IP-Ranges von cronjob.de irgendwelche "gefährlichen" Seiten liegen, die HostEurope sperren wollte. Dann wäre cronjob.de unabsichtlich auch gesperrt.
 
Zurück
Oben