florianpalme / oxid-cronjobmanager
Fügt dem OXID-Backend einen Cronjob-Manager ein.
Installs: 31
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 0
Type:oxideshop-module
Requires
- php: >=7.0.0
- peppeocchi/php-cron-scheduler: 2.*
This package is auto-updated.
Last update: 2024-12-07 08:44:05 UTC
README
Fügt dem OXID-Backend einen Cronjob-Manager ein.
Installation
composer require florianpalme/oxid-cronjobmanager
Cronjob einrichten
Bevor Cronjobs mittels des OXID Cronjob Managers verwendet werden können, muss ein normaler Crontab eingerichtet werden. Dabei ist darauf zu achten, dass der Aufruf jeder Minute durchgeführt wird.
Linux Crontab
Kann der Linux Crontab auf dem Server bearbeitet werden (crontab -e
), kann folgende Zeile eingefügt werden.
* * * * * php /pfad/zum/oxidshop/bin/cron.php
Hoster
Ist es dir nicht möglich, den Crontab über die Linux-Konsole einzurichten, wende dich an deinen Hoster, welcher dir weiterhelfen kann. Dabei muss die Datei bin/cron.php
im OXID-Root-Verzeichnis mittels php ausgeführt werden.
Verwendung
Unter Service -> Cronjob Manager findest du alle von Modulen bereitgestellten Cronjobs.
Cronjob-Liste
In der Liste oben findest du folgende Informationen:
Bearbeitung - Tab "Cronjob Manager"
Nach dem Klick auf einen Cronjob lassen sich folgende Informationen bearbeiten:
Status
Crontab
Beschreibt den Ausführungs-Intervall des Cronjobs im Linux Crontab Format
Bearbeitung - Tab "Log"
Hier findest du eine kurze Übersicht über die Anzahl der Ausführung, die durchschnittliche Ausführungszeit und die Anzahl der Fehlgeschlagenen Cronjobs.
In der ausgegebenen Liste werden Status, Start- & Endzeit, Ausführungszeit und ggf. eine Fehlermeldung ausgegeben.
Verwendung in Modulen
Als Modul-Entwickler ersparst du dir durch den Cronjob Manager das schreiben eigener Cronjob-Funktionen, wie Prüfungen, ob er nun ausgeführt werden darf oder nicht.
Überladen der Maintenance
Füge deinen Cronjob als Methode in der \OxidEsales\Eshop\Application\Model\Maintenance-Klasse hinzu.
Fehler-Meldungen
Schlägt dein Cronjob aus irgendwelchen Gründen fehl, so kannst du eine Instanz von FlorianPalme\OXIDCronjobManager\Core\Exception\Exception werfen. Diese wird abgefangen und die hinterlegte Message in den Log geschrieben.
Anpassung metadata.php
Das $aModule
-Array in der metadata.php wird um ein Array cronjobs
wie folgt erweitert.
$aModule = [ /** Cronjobs */ 'cronjobs' => [ 'moduleid_cronjobid' => [ 'fnc' => 'doMyJob', 'title' => [ 'de' => 'My Job', ], 'crontab' => '* * * * *', ], ], ];
Für jeden im cronjobs-Array enthaltenen Cronjob muss eine eindeutige ID vergeben werden. Empfohlen wird MODULID_CRONJOBID.
Parameter
fnc
Name der Methode für diesen Cronjob in der oxMaintenance-Klasse.
title
Titel des Cronjobs als String oder Array für mehrere Sprachen.
crontab
Empfohlene Crontab-Einstellung für diesen Cronjob.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
2.1.1 - 2018-02-23
Fixed
- #1 fix template paths for case-sensitive operating systems
2.1.0 - 2018-02-20
Added
- Integration in die DebugBar
Fixed
- Liste im Admin wurde nicht mehr dargestellt, ist das Modul zu einem Cronjob nicht mehr vorhanden
2.0.0 - 2018-02-05
Changed
- Upgrade auf OXID 6