TYPO3-Scheduler-Cronjob bei Strato

Mittwoch, 04.07.2018 10:07

Cronjobs sind mittlerweile unverzichtbar bei der täglichen Arbeit geworden. Vor allem im Umgang mit TYPO3. Die Einrichtung eines solchen Cronjobs ist von Anbieter zu Anbieter verschieden. Hier nun mal ein Beispiel, wie es bei Strato funktioniert:

1. PHP-Datei im Root der Webseite erstellen (z.B. runscheduler.php):

exec('pwd', $myResult);
$myPath = $myResult[0];
system ('env -i /bin/php71 -f ' . $myPath . '/typo3/cli_dispatch.phpsh scheduler');

Je nach benötigter PHP-Version müsst Ihr den Pfad /bin/phpXX anpassen. Die verfügbaren PHP-Versionen findet man z.B. über das Terminal, indem man in den Ordner /bin/ schaut, welche Versionen dort verfügbar sind.

2. PHP-Datei vom Cronjob aus aufrufen:

wget --no-check-certificate -O /dev/null https://www.domain.de/runscheduler.php

P.S.: Dies ist natürlich nur ein Beispiel. Evtl. kann man mittlerweile auch den eigentlichen Aufruf (env -i /php/php71 -f /path/to/my/docroot/typo3/cli_dispatch.phpsh scheduler) mittlerweile auch schon direkt im Cronjob-Manager eintragen.

P.P.S.: Ab TYPO3 8.7 sollte der Scheduler mittels /path/to/my/docroot/typo3/sysext/core/bin/typo3 scheduler:run aufgerufen werden.

Thema: TYPO3 | Kommentare (0) | Autor:

cObj in Scheduler-Task verwenden

Mittwoch, 31.10.2012 13:02

Scheduler-Tasks haben nicht den vollen Umfang aller TYPO3-Funktionen zur Verfügung, da diese ohnehin oftmals nicht benötigt werden. Manchmal braucht man aber spezielle Funktionen/Methoden, um z.B. Bilder rendern zu lassen oder mit HTML-Templates arbeiten zu können. Hierzu wird oft das cObj benötigt, welches im Scheduler-Task aber nicht vollständig vorliegt bzw. komplett fehlt.

Hierzu sorgen folgende Zeilen für Abhilfe:

chdir(PATH_site);
if(!$GLOBALS['TSFE'] instanceof tslib_fe){
    $GLOBALS['TSFE'] = t3lib_div::makeInstance('tslib_fe', $GLOBALS['TYPO3_CONF_VARS'], 0, 0);
    $GLOBALS['TSFE']->config['config']['language'] = null;
    $GLOBALS['TSFE']->initTemplate();
}
if(!isset($GLOBALS['TT'])){
    $GLOBALS['TT'] = t3lib_div::makeInstance('t3lib_TimeTrackNull');
}
$GLOBALS['TSFE']->tmpl->getFileName_backPath = PATH_site;
$cObj = t3lib_div::makeInstance('tslib_cObj');

Thema: Extensions, TYPO3 | Kommentare (4) | Autor:

TYPO3 Internetagentur Dresden
Diese Webseite verwendet Cookies. Weitere Informationen.