<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.2.220.102</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.2.220.102"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/178.2.220.102"/>
	<updated>2026-05-06T20:18:07Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=17593</id>
		<title>TYPO3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=17593"/>
		<updated>2010-07-05T09:54:54Z</updated>

		<summary type="html">&lt;p&gt;178.2.220.102: /* Scheduler Cronjob auf all Inkl Servern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 Command Line Interface (CLI)]]&lt;br /&gt;
&lt;br /&gt;
== Scheduler Cronjob ==&lt;br /&gt;
&lt;br /&gt;
Benötigt Backend User _cli_scheduler&lt;br /&gt;
&lt;br /&gt;
Aufruf allgemein&lt;br /&gt;
&lt;br /&gt;
 /pfad/zu/php /pfad/zu/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 /usr/local/bin/php /home/bob/www/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
auf Mac mit XAMPP&lt;br /&gt;
 /Applications/XAMPP/xamppfiles/bin/php /Applications/XAMPP/xamppfiles/htdocs/typo3_test/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Cronjob auf all Inkl Servern ===&lt;br /&gt;
&lt;br /&gt;
* Datei mit Endung &amp;#039;&amp;#039;&amp;#039;.phpx&amp;#039;&amp;#039;&amp;#039; anlegen. Am besten in ein Verzeichnis mit Namen /cronjobs oder /tasks o.ä. Das Skript muß für php ausführbar sein.&lt;br /&gt;
* Eventuell &amp;#039;&amp;#039;&amp;#039;Verzeichnis schützen&amp;#039;&amp;#039;&amp;#039; (über kasserver mit htaccess Schutz).  &lt;br /&gt;
* Die enthaltene &amp;#039;&amp;#039;&amp;#039;exec Funktion&amp;#039;&amp;#039;&amp;#039; muß den absoluten Pfad zum Skript bekommen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cron/scheduler.phpx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh scheduler&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scheduler in eigener Extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel gbimporter&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der gbimporter importiert per Cronjob entfernte .csv Dateien und liest sie in die TYPO3 Datenbank ein. Die benötigten Daten legt man als Datensatz im Backend an. Die Extension ist folgendermaßen aufgebaut.&lt;br /&gt;
&lt;br /&gt;
Damit wir den Scheduler nutzen können müssen wir Folgendes tun:&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task in der ext_localconf.php registrieren ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
## Scheduler Aufgabe anmelden (ab Version 4.3)&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SC_OPTIONS&amp;#039;][&amp;#039;scheduler&amp;#039;][&amp;#039;tasks&amp;#039;][&amp;#039;tx_gbimporter_import&amp;#039;] = array(&lt;br /&gt;
	&amp;#039;extension&amp;#039; =&amp;gt; $_EXTKEY, // Extension Key ;-)&lt;br /&gt;
	&amp;#039;title&amp;#039; =&amp;gt; &amp;#039;GB Importer&amp;#039;, // Der Titel der Aufgabe&lt;br /&gt;
	&amp;#039;description&amp;#039; =&amp;gt; &amp;#039;Importieren von CSV Daten per Cronjob&amp;#039;, // Die Beschreibung der Aufgabe&lt;br /&gt;
	// &amp;#039;additionalFields&amp;#039; =&amp;gt; &amp;#039;tx_extkey_TaskName_AdditionalFieldProvider&amp;#039; // Zusätzliche Felder&lt;br /&gt;
);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Somit weiß TYPO3 daß es einen task&amp;#039;&amp;#039; tx_gbimporter_import&amp;#039;&amp;#039; geben soll der über den Scheduler ausgeführt werden darf, und wie es den Task im Backend anzeigen muß. Über die additionalFields könnte man zusätzliche Felder im Backend anzeigen die man für weitere Einstellungen nutzen könnte (siehe weiterführende Links)&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task über ext_autoload.php laden === &lt;br /&gt;
Damit TYPO3 nun noch weiß was es bei Aufruf der Aufgabe &amp;#039;&amp;#039;tx_gbimporter_import&amp;#039;&amp;#039; tun soll brauchen wir eine passende Klasse die den auszuführenden php Code enthält. Diese laden wir einfach über den autoload Mechanismus: Enthält eine Extension die Datei ext_autoload.php, wird diese automatisch beim initialisieren der Extension ausgeführt. Daher können wir in dieser Datei die Klasse class.tx_gbimporter_import laden:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ext_autoload.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
return array(&lt;br /&gt;
    &amp;#039;tx_gbimporter_import&amp;#039; =&amp;gt; t3lib_extMgm::extPath(&amp;#039;gbimporter&amp;#039;, &amp;#039;tasks/class.tx_gbimporter_import.php&amp;#039;)&lt;br /&gt;
);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie man sieht können wir hier auf den Code der Klasse referenzieren. Diese müssen wir nun natürlich noch anlegen.&lt;br /&gt;
&lt;br /&gt;
=== Funktionen für den Task anlegen ===&lt;br /&gt;
Wie im vorherigen Schritt angegeben legen wir die Datei&lt;br /&gt;
 task/class.tx_gbimporter_import.php &lt;br /&gt;
an. Diese erweitert die TYPO3 Klasse &lt;br /&gt;
 tx_scheduler_Task &lt;br /&gt;
und enthält mindestens die Funktion &amp;#039;&amp;#039;&amp;#039;execute()&amp;#039;&amp;#039;&amp;#039;, die beim Start des Tasks aufgerufen wird. Damit der Scheduler entscheiden kann ob der Cronjob funktioniert hat, muß die Funktion true oder false zurückgeben&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;class.tx_gbimporter_import.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class tx_gbimporter_import extends tx_scheduler_Task {&lt;br /&gt;
	&lt;br /&gt;
	public function execute() {&lt;br /&gt;
		$this-&amp;gt;init();&lt;br /&gt;
		foreach($this-&amp;gt;arrConfigData as $configKey=&amp;gt;$arrConfig){&lt;br /&gt;
			$this-&amp;gt;configUid = $arrConfig[&amp;#039;uid&amp;#039;];&lt;br /&gt;
                        ...			&lt;br /&gt;
                        if($this-&amp;gt;getRemoteFile(...)){&lt;br /&gt;
				// delete old Data on this Page&lt;br /&gt;
				$this-&amp;gt;deleteOldData(...);&lt;br /&gt;
				// insert new Data on this Page&lt;br /&gt;
				$this-&amp;gt;insertNewData(...);&lt;br /&gt;
				return true;&lt;br /&gt;
			}else{&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>178.2.220.102</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2033</id>
		<title>TYPO3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2033"/>
		<updated>2010-07-05T09:41:57Z</updated>

		<summary type="html">&lt;p&gt;178.2.220.102: /* Scheduler Cronjob */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 Command Line Interface (CLI)]]&lt;br /&gt;
&lt;br /&gt;
== Scheduler Cronjob ==&lt;br /&gt;
&lt;br /&gt;
Benötigt Backend User _cli_scheduler&lt;br /&gt;
&lt;br /&gt;
Aufruf allgemein&lt;br /&gt;
&lt;br /&gt;
 /pfad/zu/php /pfad/zu/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 /usr/local/bin/php /home/bob/www/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
auf Mac mit XAMPP&lt;br /&gt;
 /Applications/XAMPP/xamppfiles/bin/php /Applications/XAMPP/xamppfiles/htdocs/typo3_test/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Cronjob auf all Inkl Servern ===&lt;br /&gt;
&lt;br /&gt;
Datei mit Endung .phpx anlegen. Und eventuell Verzeichnis schützen. Die enthaltene exec Funktion muß den absoluten Pfad zum Skript bekommen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cron/scheduler.phpx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh scheduler&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scheduler in eigener Extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel gbimporter&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der gbimporter importiert per Cronjob entfernte .csv Dateien und liest sie in die TYPO3 Datenbank ein. Die benötigten Daten legt man als Datensatz im Backend an. Die Extension ist folgendermaßen aufgebaut.&lt;br /&gt;
&lt;br /&gt;
Damit wir den Scheduler nutzen können müssen wir Folgendes tun:&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task in der ext_localconf.php registrieren ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
## Scheduler Aufgabe anmelden (ab Version 4.3)&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SC_OPTIONS&amp;#039;][&amp;#039;scheduler&amp;#039;][&amp;#039;tasks&amp;#039;][&amp;#039;tx_gbimporter_import&amp;#039;] = array(&lt;br /&gt;
	&amp;#039;extension&amp;#039; =&amp;gt; $_EXTKEY, // Extension Key ;-)&lt;br /&gt;
	&amp;#039;title&amp;#039; =&amp;gt; &amp;#039;GB Importer&amp;#039;, // Der Titel der Aufgabe&lt;br /&gt;
	&amp;#039;description&amp;#039; =&amp;gt; &amp;#039;Importieren von CSV Daten per Cronjob&amp;#039;, // Die Beschreibung der Aufgabe&lt;br /&gt;
	// &amp;#039;additionalFields&amp;#039; =&amp;gt; &amp;#039;tx_extkey_TaskName_AdditionalFieldProvider&amp;#039; // Zusätzliche Felder&lt;br /&gt;
);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Somit weiß TYPO3 daß es einen task&amp;#039;&amp;#039; tx_gbimporter_import&amp;#039;&amp;#039; geben soll der über den Scheduler ausgeführt werden darf, und wie es den Task im Backend anzeigen muß. Über die additionalFields könnte man zusätzliche Felder im Backend anzeigen die man für weitere Einstellungen nutzen könnte (siehe weiterführende Links)&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task über ext_autoload.php laden === &lt;br /&gt;
Damit TYPO3 nun noch weiß was es bei Aufruf der Aufgabe &amp;#039;&amp;#039;tx_gbimporter_import&amp;#039;&amp;#039; tun soll brauchen wir eine passende Klasse die den auszuführenden php Code enthält. Diese laden wir einfach über den autoload Mechanismus: Enthält eine Extension die Datei ext_autoload.php, wird diese automatisch beim initialisieren der Extension ausgeführt. Daher können wir in dieser Datei die Klasse class.tx_gbimporter_import laden:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ext_autoload.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
return array(&lt;br /&gt;
    &amp;#039;tx_gbimporter_import&amp;#039; =&amp;gt; t3lib_extMgm::extPath(&amp;#039;gbimporter&amp;#039;, &amp;#039;tasks/class.tx_gbimporter_import.php&amp;#039;)&lt;br /&gt;
);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie man sieht können wir hier auf den Code der Klasse referenzieren. Diese müssen wir nun natürlich noch anlegen.&lt;br /&gt;
&lt;br /&gt;
=== Funktionen für den Task anlegen ===&lt;br /&gt;
Wie im vorherigen Schritt angegeben legen wir die Datei&lt;br /&gt;
 task/class.tx_gbimporter_import.php &lt;br /&gt;
an. Diese erweitert die TYPO3 Klasse &lt;br /&gt;
 tx_scheduler_Task &lt;br /&gt;
und enthält mindestens die Funktion &amp;#039;&amp;#039;&amp;#039;execute()&amp;#039;&amp;#039;&amp;#039;, die beim Start des Tasks aufgerufen wird. Damit der Scheduler entscheiden kann ob der Cronjob funktioniert hat, muß die Funktion true oder false zurückgeben&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;class.tx_gbimporter_import.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class tx_gbimporter_import extends tx_scheduler_Task {&lt;br /&gt;
	&lt;br /&gt;
	public function execute() {&lt;br /&gt;
		$this-&amp;gt;init();&lt;br /&gt;
		foreach($this-&amp;gt;arrConfigData as $configKey=&amp;gt;$arrConfig){&lt;br /&gt;
			$this-&amp;gt;configUid = $arrConfig[&amp;#039;uid&amp;#039;];&lt;br /&gt;
                        ...			&lt;br /&gt;
                        if($this-&amp;gt;getRemoteFile(...)){&lt;br /&gt;
				// delete old Data on this Page&lt;br /&gt;
				$this-&amp;gt;deleteOldData(...);&lt;br /&gt;
				// insert new Data on this Page&lt;br /&gt;
				$this-&amp;gt;insertNewData(...);&lt;br /&gt;
				return true;&lt;br /&gt;
			}else{&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>178.2.220.102</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2032</id>
		<title>TYPO3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2032"/>
		<updated>2010-07-05T09:35:24Z</updated>

		<summary type="html">&lt;p&gt;178.2.220.102: /* Scheduler Cronjob */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 Command Line Interface (CLI)]]&lt;br /&gt;
&lt;br /&gt;
== Scheduler Cronjob ==&lt;br /&gt;
&lt;br /&gt;
Benötigt Backend User _cli_scheduler&lt;br /&gt;
&lt;br /&gt;
Aufruf allgemein&lt;br /&gt;
&lt;br /&gt;
 /pfad/zu/php /pfad/zu/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 /usr/local/bin/php /home/bob/www/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
auf Mac mit XAMPP&lt;br /&gt;
 /Applications/XAMPP/xamppfiles/bin/php /Applications/XAMPP/xamppfiles/htdocs/typo3_test/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Cronjob auf all Inkl Servern ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh direct_mail masssend&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scheduler in eigener Extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel gbimporter&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der gbimporter importiert per Cronjob entfernte .csv Dateien und liest sie in die TYPO3 Datenbank ein. Die benötigten Daten legt man als Datensatz im Backend an. Die Extension ist folgendermaßen aufgebaut.&lt;br /&gt;
&lt;br /&gt;
Damit wir den Scheduler nutzen können müssen wir Folgendes tun:&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task in der ext_localconf.php registrieren ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
## Scheduler Aufgabe anmelden (ab Version 4.3)&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SC_OPTIONS&amp;#039;][&amp;#039;scheduler&amp;#039;][&amp;#039;tasks&amp;#039;][&amp;#039;tx_gbimporter_import&amp;#039;] = array(&lt;br /&gt;
	&amp;#039;extension&amp;#039; =&amp;gt; $_EXTKEY, // Extension Key ;-)&lt;br /&gt;
	&amp;#039;title&amp;#039; =&amp;gt; &amp;#039;GB Importer&amp;#039;, // Der Titel der Aufgabe&lt;br /&gt;
	&amp;#039;description&amp;#039; =&amp;gt; &amp;#039;Importieren von CSV Daten per Cronjob&amp;#039;, // Die Beschreibung der Aufgabe&lt;br /&gt;
	// &amp;#039;additionalFields&amp;#039; =&amp;gt; &amp;#039;tx_extkey_TaskName_AdditionalFieldProvider&amp;#039; // Zusätzliche Felder&lt;br /&gt;
);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Somit weiß TYPO3 daß es einen task&amp;#039;&amp;#039; tx_gbimporter_import&amp;#039;&amp;#039; geben soll der über den Scheduler ausgeführt werden darf, und wie es den Task im Backend anzeigen muß. Über die additionalFields könnte man zusätzliche Felder im Backend anzeigen die man für weitere Einstellungen nutzen könnte (siehe weiterführende Links)&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task über ext_autoload.php laden === &lt;br /&gt;
Damit TYPO3 nun noch weiß was es bei Aufruf der Aufgabe &amp;#039;&amp;#039;tx_gbimporter_import&amp;#039;&amp;#039; tun soll brauchen wir eine passende Klasse die den auszuführenden php Code enthält. Diese laden wir einfach über den autoload Mechanismus: Enthält eine Extension die Datei ext_autoload.php, wird diese automatisch beim initialisieren der Extension ausgeführt. Daher können wir in dieser Datei die Klasse class.tx_gbimporter_import laden:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ext_autoload.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
return array(&lt;br /&gt;
    &amp;#039;tx_gbimporter_import&amp;#039; =&amp;gt; t3lib_extMgm::extPath(&amp;#039;gbimporter&amp;#039;, &amp;#039;tasks/class.tx_gbimporter_import.php&amp;#039;)&lt;br /&gt;
);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie man sieht können wir hier auf den Code der Klasse referenzieren. Diese müssen wir nun natürlich noch anlegen.&lt;br /&gt;
&lt;br /&gt;
=== Funktionen für den Task anlegen ===&lt;br /&gt;
Wie im vorherigen Schritt angegeben legen wir die Datei&lt;br /&gt;
 task/class.tx_gbimporter_import.php &lt;br /&gt;
an. Diese erweitert die TYPO3 Klasse &lt;br /&gt;
 tx_scheduler_Task &lt;br /&gt;
und enthält mindestens die Funktion &amp;#039;&amp;#039;&amp;#039;execute()&amp;#039;&amp;#039;&amp;#039;, die beim Start des Tasks aufgerufen wird. Damit der Scheduler entscheiden kann ob der Cronjob funktioniert hat, muß die Funktion true oder false zurückgeben&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;class.tx_gbimporter_import.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class tx_gbimporter_import extends tx_scheduler_Task {&lt;br /&gt;
	&lt;br /&gt;
	public function execute() {&lt;br /&gt;
		$this-&amp;gt;init();&lt;br /&gt;
		foreach($this-&amp;gt;arrConfigData as $configKey=&amp;gt;$arrConfig){&lt;br /&gt;
			$this-&amp;gt;configUid = $arrConfig[&amp;#039;uid&amp;#039;];&lt;br /&gt;
                        ...			&lt;br /&gt;
                        if($this-&amp;gt;getRemoteFile(...)){&lt;br /&gt;
				// delete old Data on this Page&lt;br /&gt;
				$this-&amp;gt;deleteOldData(...);&lt;br /&gt;
				// insert new Data on this Page&lt;br /&gt;
				$this-&amp;gt;insertNewData(...);&lt;br /&gt;
				return true;&lt;br /&gt;
			}else{&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>178.2.220.102</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2031</id>
		<title>TYPO3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2031"/>
		<updated>2010-07-05T09:32:23Z</updated>

		<summary type="html">&lt;p&gt;178.2.220.102: /* PHP Code für den Task anlegen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 Command Line Interface (CLI)]]&lt;br /&gt;
&lt;br /&gt;
== Scheduler Cronjob ==&lt;br /&gt;
&lt;br /&gt;
Benötigt Backend User _cli_scheduler&lt;br /&gt;
&lt;br /&gt;
Aufruf&lt;br /&gt;
&lt;br /&gt;
 /pfad/zu/php /pfad/zu/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 /usr/local/bin/php /home/bob/www/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
auf Mac mit XAMPP&lt;br /&gt;
 /Applications/XAMPP/xamppfiles/bin/php /Applications/XAMPP/xamppfiles/htdocs/typo3_test/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
== Scheduler in eigener Extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel gbimporter&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der gbimporter importiert per Cronjob entfernte .csv Dateien und liest sie in die TYPO3 Datenbank ein. Die benötigten Daten legt man als Datensatz im Backend an. Die Extension ist folgendermaßen aufgebaut.&lt;br /&gt;
&lt;br /&gt;
Damit wir den Scheduler nutzen können müssen wir Folgendes tun:&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task in der ext_localconf.php registrieren ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
## Scheduler Aufgabe anmelden (ab Version 4.3)&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SC_OPTIONS&amp;#039;][&amp;#039;scheduler&amp;#039;][&amp;#039;tasks&amp;#039;][&amp;#039;tx_gbimporter_import&amp;#039;] = array(&lt;br /&gt;
	&amp;#039;extension&amp;#039; =&amp;gt; $_EXTKEY, // Extension Key ;-)&lt;br /&gt;
	&amp;#039;title&amp;#039; =&amp;gt; &amp;#039;GB Importer&amp;#039;, // Der Titel der Aufgabe&lt;br /&gt;
	&amp;#039;description&amp;#039; =&amp;gt; &amp;#039;Importieren von CSV Daten per Cronjob&amp;#039;, // Die Beschreibung der Aufgabe&lt;br /&gt;
	// &amp;#039;additionalFields&amp;#039; =&amp;gt; &amp;#039;tx_extkey_TaskName_AdditionalFieldProvider&amp;#039; // Zusätzliche Felder&lt;br /&gt;
);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Somit weiß TYPO3 daß es einen task&amp;#039;&amp;#039; tx_gbimporter_import&amp;#039;&amp;#039; geben soll der über den Scheduler ausgeführt werden darf, und wie es den Task im Backend anzeigen muß. Über die additionalFields könnte man zusätzliche Felder im Backend anzeigen die man für weitere Einstellungen nutzen könnte (siehe weiterführende Links)&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task über ext_autoload.php laden === &lt;br /&gt;
Damit TYPO3 nun noch weiß was es bei Aufruf der Aufgabe &amp;#039;&amp;#039;tx_gbimporter_import&amp;#039;&amp;#039; tun soll brauchen wir eine passende Klasse die den auszuführenden php Code enthält. Diese laden wir einfach über den autoload Mechanismus: Enthält eine Extension die Datei ext_autoload.php, wird diese automatisch beim initialisieren der Extension ausgeführt. Daher können wir in dieser Datei die Klasse class.tx_gbimporter_import laden:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ext_autoload.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
return array(&lt;br /&gt;
    &amp;#039;tx_gbimporter_import&amp;#039; =&amp;gt; t3lib_extMgm::extPath(&amp;#039;gbimporter&amp;#039;, &amp;#039;tasks/class.tx_gbimporter_import.php&amp;#039;)&lt;br /&gt;
);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie man sieht können wir hier auf den Code der Klasse referenzieren. Diese müssen wir nun natürlich noch anlegen.&lt;br /&gt;
&lt;br /&gt;
=== Funktionen für den Task anlegen ===&lt;br /&gt;
Wie im vorherigen Schritt angegeben legen wir die Datei&lt;br /&gt;
 task/class.tx_gbimporter_import.php &lt;br /&gt;
an. Diese erweitert die TYPO3 Klasse &lt;br /&gt;
 tx_scheduler_Task &lt;br /&gt;
und enthält mindestens die Funktion &amp;#039;&amp;#039;&amp;#039;execute()&amp;#039;&amp;#039;&amp;#039;, die beim Start des Tasks aufgerufen wird. Damit der Scheduler entscheiden kann ob der Cronjob funktioniert hat, muß die Funktion true oder false zurückgeben&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;class.tx_gbimporter_import.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class tx_gbimporter_import extends tx_scheduler_Task {&lt;br /&gt;
	&lt;br /&gt;
	public function execute() {&lt;br /&gt;
		$this-&amp;gt;init();&lt;br /&gt;
		foreach($this-&amp;gt;arrConfigData as $configKey=&amp;gt;$arrConfig){&lt;br /&gt;
			$this-&amp;gt;configUid = $arrConfig[&amp;#039;uid&amp;#039;];&lt;br /&gt;
                        ...			&lt;br /&gt;
                        if($this-&amp;gt;getRemoteFile(...)){&lt;br /&gt;
				// delete old Data on this Page&lt;br /&gt;
				$this-&amp;gt;deleteOldData(...);&lt;br /&gt;
				// insert new Data on this Page&lt;br /&gt;
				$this-&amp;gt;insertNewData(...);&lt;br /&gt;
				return true;&lt;br /&gt;
			}else{&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>178.2.220.102</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2030</id>
		<title>TYPO3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=2030"/>
		<updated>2010-07-05T09:31:37Z</updated>

		<summary type="html">&lt;p&gt;178.2.220.102: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 Command Line Interface (CLI)]]&lt;br /&gt;
&lt;br /&gt;
== Scheduler Cronjob ==&lt;br /&gt;
&lt;br /&gt;
Benötigt Backend User _cli_scheduler&lt;br /&gt;
&lt;br /&gt;
Aufruf&lt;br /&gt;
&lt;br /&gt;
 /pfad/zu/php /pfad/zu/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 /usr/local/bin/php /home/bob/www/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
auf Mac mit XAMPP&lt;br /&gt;
 /Applications/XAMPP/xamppfiles/bin/php /Applications/XAMPP/xamppfiles/htdocs/typo3_test/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
== Scheduler in eigener Extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel gbimporter&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der gbimporter importiert per Cronjob entfernte .csv Dateien und liest sie in die TYPO3 Datenbank ein. Die benötigten Daten legt man als Datensatz im Backend an. Die Extension ist folgendermaßen aufgebaut.&lt;br /&gt;
&lt;br /&gt;
Damit wir den Scheduler nutzen können müssen wir Folgendes tun:&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task in der ext_localconf.php registrieren ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
## Scheduler Aufgabe anmelden (ab Version 4.3)&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SC_OPTIONS&amp;#039;][&amp;#039;scheduler&amp;#039;][&amp;#039;tasks&amp;#039;][&amp;#039;tx_gbimporter_import&amp;#039;] = array(&lt;br /&gt;
	&amp;#039;extension&amp;#039; =&amp;gt; $_EXTKEY, // Extension Key ;-)&lt;br /&gt;
	&amp;#039;title&amp;#039; =&amp;gt; &amp;#039;GB Importer&amp;#039;, // Der Titel der Aufgabe&lt;br /&gt;
	&amp;#039;description&amp;#039; =&amp;gt; &amp;#039;Importieren von CSV Daten per Cronjob&amp;#039;, // Die Beschreibung der Aufgabe&lt;br /&gt;
	// &amp;#039;additionalFields&amp;#039; =&amp;gt; &amp;#039;tx_extkey_TaskName_AdditionalFieldProvider&amp;#039; // Zusätzliche Felder&lt;br /&gt;
);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Somit weiß TYPO3 daß es einen task&amp;#039;&amp;#039; tx_gbimporter_import&amp;#039;&amp;#039; geben soll der über den Scheduler ausgeführt werden darf, und wie es den Task im Backend anzeigen muß. Über die additionalFields könnte man zusätzliche Felder im Backend anzeigen die man für weitere Einstellungen nutzen könnte (siehe weiterführende Links)&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task über ext_autoload.php laden === &lt;br /&gt;
Damit TYPO3 nun noch weiß was es bei Aufruf der Aufgabe &amp;#039;&amp;#039;tx_gbimporter_import&amp;#039;&amp;#039; tun soll brauchen wir eine passende Klasse die den auszuführenden php Code enthält. Diese laden wir einfach über den autoload Mechanismus: Enthält eine Extension die Datei ext_autoload.php, wird diese automatisch beim initialisieren der Extension ausgeführt. Daher können wir in dieser Datei die Klasse class.tx_gbimporter_import laden:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ext_autoload.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
return array(&lt;br /&gt;
    &amp;#039;tx_gbimporter_import&amp;#039; =&amp;gt; t3lib_extMgm::extPath(&amp;#039;gbimporter&amp;#039;, &amp;#039;tasks/class.tx_gbimporter_import.php&amp;#039;)&lt;br /&gt;
);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie man sieht können wir hier auf den Code der Klasse referenzieren. Diese müssen wir nun natürlich noch anlegen.&lt;br /&gt;
&lt;br /&gt;
=== PHP Code für den Task anlegen ===&lt;br /&gt;
Wie im vorherigen Schritt angegeben legen wir die Datei&lt;br /&gt;
 task/class.tx_gbimporter_import.php &lt;br /&gt;
an. Diese erweitert die TYPO3 Klasse &lt;br /&gt;
 tx_scheduler_Task &lt;br /&gt;
und enthält mindestens die Funktion &amp;#039;&amp;#039;&amp;#039;execute()&amp;#039;&amp;#039;&amp;#039;, die beim Start des Tasks aufgerufen wird. Damit der Scheduler entscheiden kann ob der Cronjob funktioniert hat, muß die Funktion true oder false zurückgeben&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;class.tx_gbimporter_import.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class tx_gbimporter_import extends tx_scheduler_Task {&lt;br /&gt;
	&lt;br /&gt;
	public function execute() {&lt;br /&gt;
		$this-&amp;gt;init();&lt;br /&gt;
		foreach($this-&amp;gt;arrConfigData as $configKey=&amp;gt;$arrConfig){&lt;br /&gt;
			$this-&amp;gt;configUid = $arrConfig[&amp;#039;uid&amp;#039;];&lt;br /&gt;
                        ...			&lt;br /&gt;
                        if($this-&amp;gt;getRemoteFile(...)){&lt;br /&gt;
				// delete old Data on this Page&lt;br /&gt;
				$this-&amp;gt;deleteOldData(...);&lt;br /&gt;
				// insert new Data on this Page&lt;br /&gt;
				$this-&amp;gt;insertNewData(...);&lt;br /&gt;
				return true;&lt;br /&gt;
			}else{&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>178.2.220.102</name></author>
	</entry>
</feed>