Was sind Cronjobs und wie stelle ich deren Zeiten für die 1. Bundesliga ein?

  • Hier versuche ich mal kurz und knapp zu erläutern, was Cron-Jobs sind und wie man die Zeiten für die 1.Bundesliga konfigurieren könnte.


    Der Begriff "Cronjob"
    (oder Cron-Job) kommt aus der Unix-Welt.
    Mit diesen Cronjobs wurden zeitbasierte Ausführungen von Prozessen gesteuert. Es ist also nichts weiter als eine Taskplaner in der Windows- Welt.
    Bei Webseiten werden die Daten vom Web- Server ja nur dann angefordert, wenn ein Benutzer durch den Aufruf einer Webseite eine Aktion auslöst.
    In Heimumgebungen werden hier meisst keine eigenen Web- Server genutzt, da der Verwaltungsaufwand, Strombedarf und der Server an sich Kosten bedeuten, die ungünstig zum Nutzungsverhältnis stehen - sprich zu teuer ist.
    Ein Aufruf einer Webseite zu einer bestimmten Urzeit muss also von einem ständig laufendem System erfolgen. Dafür gibt es Dienste, die man nutzen kann. Hier muss man selbst mal im Internet suchen, was es da so aktuell gibt und zu welchen Kosten - kostenlos geht auch. Suchbegriffe sind hier natürlich "Cronjob" und "kostenlos" :-)


    Wozu benötige ich den Cronjob?
    Wir möchten zum Beispiel eine Erinnerungsmail automatisch versenden - immer einen Tag bevor ein Spiel beginnt morgens um 8:00Uhr. Damit du nicht jeden Morgen um 8:00Uhr einen Link anklicken musst, kannst du das von einem Dienst automatisch machen lassen.
    In BuLiTipp gibt es in der Grundversion 7 Cronjobs:
    Termine Laden = hier werden die von der Bundesliga neu terminierten Spiele in die eigene Datenbank übernommen
    Ergebnisse Laden = neue Ergebnisse der Spiele werden von einem Datenservice geholt und in die eigene Datenbank übertragen
    Reminder Versenden = die Erinnerung an die kommenden Spiele wird per Mail an die Tipper gesendet, die die Funktion im Profil auch aktiviert haben
    Live-Ergebnisse Laden = Ergebnisse der laufenden Spiele werden von einem Datenservice geladen und im Liveticker angezeigt
    Backup der Datenbank = Es wird ein SQL-Backup der gesamten Datenbank durchgeführt
    Shout Löschen = Die Einträge des Shout-Casts werden entfernt (wenn benutzt)
    Inaktive User Mail = sendet eine Mail an Benutzer, die sich seit längerem nicht eingeloggt haben
    Wurde nun ein Dienst- Anbieter gefunden oder man hat selbst einen Server, der 24 Stunden 7 Tage die Woche läuft, dann kann man an die Konfiguration der Cronjobs gehen.


    Die Zeiteinstellungen der einzelnen Cronjobs
    kann man wie folgt vornehmen:


    Nr Bezeichnung Monate Tage Wochentage Stunden Minuten Link
    1 Termine Laden täglich um 7:00 Uhr http://{deineWebSeite.de}/extern/terminplan.php?pw={CronJobPassword}
    2 Ergebnisse Laden August - Mai 1-31 Dienstag - Sonntag 15-23 0, 15, 30, 45 http://{deineWebSeite.de}/extern/results.php?pw={CronJobPassword}
    3 Reminder Versenden täglich um 8:00 Uhr http://{deineWebSeite.de}/extern/reminder.php?pw={CronJobPassword}
    4 Live-Ergebnisse Laden August - Mai 1-31 Dienstag - Sonntag 15-23 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 http://{deineWebSeite.de}/extern/liveresults.php?pw={CronJobPassword}
    5 Backup der Datenbank Montag um 4:00 Uhr http://{deineWebSeite.de}/extern/backup.php?pw={CronJobPassword}
    6 Shout Löschen Montag um 4:30 Uhr http://{deineWebSeite.de}/extern/shout_loeschen.php?pw={CronJobPassword}
    7 Inaktive User Mail Montag um 9:00 Uhr http://{deineWebSeite.de}/extern/inaktive.php?pw={CronJobPassword}


    {deineWebSeite.de} = deine konfigurierte Website- Adresse{CronJobPassword} = dein Passwort aus der "config.inc.php"


    Hinweise:
    Damit wird man keine Spieldaten verpassen und der Liveticker wird alle 5min (momentaner Minimalzyklus!) bedient.
    Zu Punkt 7:
    inaktive.php kommt von einem Plugin/Addon, welches hier beschrieben ist: Addon Mails bei Inaktivität
    Leider ist die Datei "inaktive.php" im aktuellen Komplettpaket im falschen Ordner. Sie muss nach "extern" verschoben werden.
    Die anderen Anpassungen aus dem Thread wurden im Komplettpaket durchgeführt.
    Bitte seid vorsichtig mit diesem Punkt. Hier geht es um das automatische Deaktivieren eines Mitspielers, wenn er sich nach einer gewissen Zeit nicht eingeloggt hat..


    Bei einigen Anbietern für Cronjobs muss man die Zeiten z.B. als "Benutzerdefiniert" deklarieren, damit man die Eintragungen laut obiger Tabelle vornehmen kann.
    Nutzt bitte nur die Cronjobs, die auch wirklich gebraucht werden!



    Die Zeiten in der Tabelle sind kein MUSS! Das sind nur Vorschläge...
    Einige der Jobs müssen über die config.inc.php noch parametriert bzw. auf die persönlichen Bedürfnisse eingestellt werden. Bitte schaut euch hierzu die config.inc.php genau an und tragt dort an den entsprechenden Stellen eure gewünschten Werte ein.
    :sbitte:


    Edit: Info für die Saison 2017/2018: Das späte Sonntagsspiel findet nicht mehr um 17.30 Uhr, sondern erst um 18 Uhr. Die Spiele am Montagabend - insgesamt fünf im Laufe der Saison - beginnen jeweils um 20.30 Uhr.
    Dazu werden auch am Sonntagmittag ab 13.30 Uhr über die Saison verteilt fünf Spiele stattfinden. Hier müsst Ihr eure Cronjobs entsprechend anpassen.

Teilen

Kommentare 2

  • Noch ein Kurzer Hinweis: wer mit cron-job.org seine Jobs verwaltet, der hatte evtl. bis gestern ein Problem, wenn man "benutzerdefinierte" Jobs angelegt hat - also eigene terminliche Einstellungen gemacht hat. Die Jobs wurden zwar geplant, aber nicht ausgeführt. Ich habe mit dem verantwortlichen Team eine Analyse gemacht und seit gestern habe ich die Bestätigung, dass der Fehler gefunden und behoben ist. Ich habe das probiert und nun kann ich die "benutzerdefinierten Ausführungs-Zeitpunkte" in der Konfiguration nutzen. Damit spart man Seitenaufrufe und hält den Job-Server länger am Leben!
  • Auf Linux-Servern kann als Kurzschreibweise für "alle 5 Minuten" auch "*/5" eingetragen werden.