Zum Inhalt springen

Scheduler mit RSS2_Import

Erstellt am 10. Juni 2011 · 13 Antworten · letzte Antwort am 29. März 2012

Tags: Frage

Climber ·

Hallo Zusammen,
ich lese auf einer Seite mittels rss2_import verschiedene RSS-Feeds in tt_news ein.
Das ganz funktioniert manuell sehr gut - ich wollte das ganz aber automatisieren mittels Scheduler.

Ich hab die entsprechenden Tasks angelegt und den Aufruf des CLI-Skript durch einen CronJob bei all-inkl gelöst.
Lt. dem Scheduler wird der Cron ausgeführt, jedoch ändert sich bei den tt_news-Einträgen nix.
Führe ich die Task's manuell aus, dann werden die Änderungen aktiv.

Folgende Konfig habe ich eingestellt:
Typ: wiederkehrend
Häufigkeit: 0 * * * *
Parallele Ausführung erlauben: nein

Hat irgendjemand eine Idee, woran es liegen könnte?

Gruß
Christian

Climber ·

Hallo Zusammen,
hat keiner von euch eine Idee?

Da ich bei all-inkl den kompletten Befehl nicht eingeben kann habe ich eine trigger.php dazu erstellt:

 // Defining circumstances for CLI mode:
define('TYPO3_cliMode', TRUE);

// ### BEGIN OF CONFIG ###

$myPath = '***/typo3/cli_dispatch.phpsh';
$thisKey = 'scheduler';

// ### END OF CONFIG ###

    // Get path to this script
$temp_PATH_thisScript = $myPath;
//echo("<b>temp_PATH_thisScript</b>=" .  $temp_PATH_thisScript"<br />");

    // Define absolute path to this script
define('PATH_thisScript',$temp_PATH_thisScript);

$argv=array(PATH_thisScript,$thisKey);
$argc=sizeof($argv);

$_SERVER['argv']=$argv;
$_SERVER['argc']=$argc;

//echo $argv;
//echo $argc;

    // First argument is a key that points to the script configuration
define('TYPO3_cliKey', $thisKey);

// Include init file:
require(dirname(PATH_thisScript).'/init.php');

// Make sure output is not buffered,
// so that command-line output and interaction can take place
t3lib_div::flushOutputBuffers();

if (defined('TYPO3_cliInclude')) {
    include(TYPO3_cliInclude);
} else {
    die('No include file configured for key "'.TYPO3_cliKey.'".'.chr(10));
}

aber irgendwie passiert da garnicx...

Gruß
Christian

Climber ·

So,
hab mal den all-inkl Support angeschrieben (Antwortzeit wie immer unter 10 Minuten).

Antwort:
Erstellen Sie sich dazu bitte eine Datei mit der Endung .phpx und fügen Sie folgenden Inhalt ein:

<?php
exec("php /www/htdocs/***/typo3/cli_dispatch.phpsh scheduler",$ausgabe); echo "<pre>";print_r($ausgabe);echo "</pre>"; ?>

Jetzt bin ich mal gespannt, ob das so funktioniert...

Climber ·

Jetzt versteh ich das ganze nicht mehr...
der CronJob wird alle 15 Min ausgeführt - dies wird mir auch im Backend angezeigt....jedoch passiert bzgl. den rss-feed rein garnix.
sobald ich die Task's manuell starte wird der rss heruntergeladen und alles ist prima....

kann mir hier vielleicht einer helfen - vielen DANK

Gruß
Christian

02.jpg

Climber ·

Hallo Stefan,
ich werd's mal testen...
Ist aber schon eigenartig, da fast überall geschrieben wird, dass der CLI-User keine Rechte benötigt...

Gruß und Danke
Christian

Climber ·

#paralyzed# ich versteh's einfach nicht.
Der User hat jetzt fast alle Rechte (außer Admin, da ja sonst der Planer nicht läuft) und es funktioniert immer noch nicht.

Gruß
Christian

Climber ·

Hallo Stefan,
ja Du hattest recht, es lag an dem Recht für die Seitenebene....#angry#
Ich mach mal ne kurze Anleitung zum Thema...

Gruß
Christian

Climber ·

also der automatisch Import funktioniert jetzt - nur die Nachrichten werden keine Katagorien zugeordnet....#angry#
woran kann's liegen?!

Spain ·

Hallo zusammen
wollte mal nach fragen wie es mit einer Anleitung steht die ihr besprochen wurde?
weis man schon mehr?
und ich wäre sehr intressiert da dran den ich bring es einfach nicht zum laufen

SiteGefuehl ·
Climber schrieb

also der automatisch Import funktioniert jetzt - nur die Nachrichten werden keine Katagorien zugeordnet....#angry#
woran kann's liegen?!

Ich bin gerade am selben Problem dran. Wenn ich es geschafft habe, werde ich berichten. Danke schonmal für den Tipp mit den Benutzerrechten.
Zu deiner Frage eine Gegenfrage: Hast du dem User auch die jeweiligen tt_news Kategorien freigegeben?

// Bei mir hat es nun funktioniert, nachdem ich dem User alle Rechte gegeben habe, die ich einem "normalen" Redakteuren geben würde plus (ich glaube, das ist bedeutend) das Modul RSS2 Import. Momentan werden bei mir noch News doppelt importiert. Heute ist dieses Problem dran.

SiteGefuehl ·

Kurze Info/Lösung zu doppelt importierten News:

Wir importieren RSS von news.google.de. die Extension prüft bereits mit der guid eines Items (aus der XML), ob eine News bereits importiert ist. Bei uns hat diese Prüfung fehlgeschlagen, somit hat er alle News doppelt importiert. Die Aktion lautete immer "import" und nicht "update". Wir haben jetzt die Funktion "getUid" (in der Datei class.tx_rss2import_helper.php unter mod1) mit einem

return( trim($item['link']) );

versehen (1 Zeile der Funktion). Wenn also ein Link im Item existiert wird dieser zurückgegeben. Ab Zeile 136 wird dann richtig überprüft, ob die News bereits exisitiert (in unserem Fall). Wichtig ist eben, dass man einen eindeutigen Identifier hat. Das war bei mir in der guid nicht der Fall. Beim Link schon.