Paket Cronjob

  • Cronjobs sind Aktionen die in regelmäßigen Abständen wiederholt ausgeführt werden

Paket einrichten

  • Erstellen der Konfigurationsdatei '/config/dragonx/cronjob/cronjob.php' durch umbenennen und anpassen der 'cronjob.php.template' Datei
  • Das Securitytoken soll sicherstellen dass nur der Cronjob die Aktionen ausführt und nicht ein anderer Benutzer der API
    return array(
        'securitytoken' => '%securitytoken%',
    );
  • Erstellung eines minütlichen Cronjobs auf dem Webserver der den Service 'DragonX.Cronjob.Service.Cronjob.executeCronjobs' aufruft und das Securitytoken übergibt
  • Als Alternative zu einem POST Request auf den Service kann auch die '/cron.php' mit dem Securitytoken als GET Parameter aufgerufen werden

Erstellung eines Cronjobs

  • Um einen Cronjob zu erstellen muss ein Plugin des Interfaces 'DragonX_Cronjob_Plugin_Cronjob_Interface' implementiert
  • %intervall% ist die Anzahl an Minuten die mindestens zwischen zwei Cronjobaufrufen liegen muss
  • Der Intervall wird immer an der Uhrzeit angepasst, daher stündliche Cronjobs laufen immer zur vollen Stunde
  • %offset% ist die Anzahl an Minuten die von der Uhrzeit abgewichen wird, daher stündliche Cronjobs mit einem Offset von 30 laufen immer zur vollen halben Stunde
  • 'execute()' wird zur Ausführung des Cronjobs aufgerufen
    class %packagenamespace%_%packagename%_Plugin_%pluginname%
        implements DragonX_Cronjob_Plugin_Cronjob_Interface
    {
        public function getIntervall()
        {
            return %intervall%;
        }
    
        public function getOffset()
        {
            return %offset%;
        }
    
        public function execute()
        {}
    }

Überwachung der Cronjobs

  • In der Tabelle 'dragonx_cronjob_record_cronjob' wird der letzte Zeitpunkt und die Anzahl der Aufrufe aller Cronjobs gespeichert