Hallo,
in der config.php meines Modules habe ich folgenden Eintrag
$GLOBALS['TL_CRON']['hourly'][] = array('klasse', 'methode');
Trotzdem wird der Kram bei jedem Aufruf der index.php Datei ausgeführt... Woran kann das liegen?
Hallo,
in der config.php meines Modules habe ich folgenden Eintrag
$GLOBALS['TL_CRON']['hourly'][] = array('klasse', 'methode');
Trotzdem wird der Kram bei jedem Aufruf der index.php Datei ausgeführt... Woran kann das liegen?
Hallo,
die Methode wird jedes Mal aufgerufen.
Funktioniert lokal sowie auf einem Server, wird aber auf beiden Systemen wirklich bei jedem Aufruf der Seite ausgeführt. Uhrzeiten auf dem Server passen.PHP-Code:
public function alkaGetUpdatedFiles() {
// Variablen
$remote_file = 'XYZ;
$remote_path = 'XYZ';
$local_file = 'XYZ;
$local_path = 'XYZ';
// Verbindung herstellen
$connection = ftp_connect("SERVER");
// Am FTP Server anmelden
if (@ftp_login($connection, "XYZ", "XYZ")) {
//log_message('FTP-Verbindung erfolgreich', 'alka.log');
$this->Logtabs->addentry("FTP-Verbindung erfolgreich hergestellt", "importexport_alka", 'complete');
}
else {
//log_message('FTP-Verbindung nicht erfolgreich', 'alka.log');
$this->Logtabs->addentry("FTP-Verbindung konnte nicht hergestellt. Benutzername und Passwort überprüfen.", "importexport_alka", 'error');
}
// Verzeichnis wechseln
if(ftp_chdir($connection, $remote_path)) {
//log_message('Verzeichnis erfolgreich gewechselt', 'alka.log');
$this->Logtabs->addentry("FTP Verzeichniswechsel erfolgreich.", "importexport_alka", 'complete');
}
else {
//log_message('Verzeichnis nicht erfolgreich gewechselt', 'alka.log');
$this->Logtabs->addentry("Konnte FTP Verzeichnis nicht wechseln.", "importexport_alka", 'error');
}
// Datei löschen
unlink($local_file);
// Datei erstellen
$handle = fopen($local_file, 'w');
// Datei herunterladen und Inhalt speichern
if(ftp_fget($connection, $handle, $remote_file, FTP_ASCII,0)) {
//log_message('Alka Datei erfolgreich erzeugt', 'alka.log');
$this->Logtabs->addentry("Lokale ALKA Datei erfolgreich erzeugt.", "importexport_alka", 'complete');
}
else {
$this->Logtabs->addentry("Lokale ALKA Datei konnte nicht erzeugt werden.", "importexport_alka", 'error');
}
// FTP Verbindung schließen
ftp_close($connection);
// Datei verschieben
// Kommt noch
}
Hi Leo,
also, laut tl_log Tabelle sieht es wie folgt aus:
"Running daily cron jobs" wird jeden Tag einmal ausgeführt, komischerweise gibt's heute kein Eintrag, aber vom 27. , 26. usw.
Die $GLOBALS['TL_CRON'] sagt folgendes:
Array ( [weekly] => Array ( [0] => Array ( [0] => Automator [1] => generateSitemap ) [1] => Array ( [0] => StyleSheets [1] => updateStyleSheets ) ) [daily] => Array ( [0] => Array ( [0] => Automator [1] => purgeTempFolder ) [1] => Array ( [0] => Automator [1] => checkForUpdates ) [2] => Array ( [0] => Calendar [1] => generateFeeds ) [3] => Array ( [0] => News [1] => generateFeeds ) ) [hourly] => Array ( [0] => Array ( [0] => alka [1] => alkaGetUpdatedFiles ) [1] => Array ( [0] => alka [1] => alkaImportUpdatedFiles ) [2] => Array ( [0] => import [1] => alkaGetUpdates ) ) )
Komisch, mir ist aufgefallen dass der letzte Cron Eintrag "unnütz" ist (veraltet, die Klasse gibts gar nicht mehr...) nachdem ich den gelöscht habe, scheints zu funktionieren.
Das Problem ist ganz einfach: Dein System kann die localconfig.php nicht beschreiben und deshalb die letzte Ausführung des CronJobs nicht speichern. Falls das nicht der Fall ist, dann läuft der CronJob nicht zu Ende (z.B. Fehler in deiner Funktion) und bricht dadurch ab. Ruf mal die cron.php direkt im Browser auf.
terminal42 gmbh
Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle
Hallo Andreas,
danke für die Info. Wie gesagt, nachdem ich den letzten CronJob Eintrag rausgenommen habe (Veraltet, weder Datei noch Klasse noch Methode vorhanden) lief der Cron korrekt.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen