====== Zeitgesteuerte Aufgaben ======

SoSci Survey erlaubt einige zeitgesteuerte Funktionen, z.B. die Übertragung von Interviews in die Datenbank bei niedriger Serverlast ([[caching|Schreibcache für Interviews]]), den zeitgesteuerten Versand von Serienmails oder (noch in Entwickung) eine regelmäßige Benachrichtigungen über die Anzahl der Befragungsteilnehmer.

Für die korrekte Ausführung der zeitgesteuerten Funktionen muss das Skript ''admin/crontask.php'' regelmäßig ausgeführt werden. Empfohlen wird ein Aufruf alle 1-5 Minuten -- rufen Sie das Skript seltener auf, kann der Zeitpunkt wann eine Aufgabe abgearbeitet wird, stärker vom geplanten Zeitpunkt abweichen.

Den absoluten Pfad zum PHP-Skript, welches Sie für die Einrichtung der zeitgesteuerten Ausführung benötigen, finden Sie unter **Server-Einstellungen** -> **Konfiguration** -> Karteireiter //Server// -> //Skript für Crontask//.

**Wichtig:** Die [[de:server:maintenance|regelmäßige Wartung des Servers]] mittels ''admin/cronjob.php'' muss unabhängig von der Übertragung des Cache durchgeführt werden. Hier ist ein Intervall von 24 Stunden angemessen.


===== Linux =====

Um das Skript auf einem Linux-System alle 5 Minuten auszuführen, tragen Sie folgenden Cronjob ein. Das Passwort legen Sie in SoSci Survey in der **Server-Verwaltung** unter **Server-Einstellungen** fest.

<code>
*/5  *  *  *  *  /usr/lib/cgi-bin/php /var/www/html/sosci/admin/crontask.php password=SECRET
</code>

Um den Cronjob anzulegen, verwenden Sie ''crontab''. Legen Sie den Cronjob für den Linux-Nutzer an (im folgenden Beispiel ''www-data''), mit dessen Rechten auch der Webserver läuft. So vermeiden Sie Probleme mit Zugriffsrechten.

<code bash>
sudo crontab -e -u www-data
</code>

===== Windows =====

Unter Windows ist für die regelmäßige Ausführung von Skripten der Aufgabenplaner zuständig (Geplante Tasks, Aufgabenplanung). 

Zunächst ist eine ausführbare Datei erforderlich, welche den PHP-Interpreter aufruft und das PHP-Skript als Parameter übergibt -- etwa eine einfache Batch-Datei (''*.bat''). Die Pfade im folgenden Beispiel müssen an die jeweilige Installation angepasst werden.

<code batch>
C:\php\php.exe C:\webserver\documents\sosci\admin\crontask.php password=SECRET
</code>

Führen Sie die Datei testweise aus, um die Pfade zu überprüfen. Die regelmäßige Ausführung dieser Datei wird anschließend im Aufgabenplaner als Aufgabe erstellt.

  * Windows XP: Systemsteuerung -> Geplante Tasks -> Geplanten Task hinzufügen ([[http://stefan-meissner.com/ein-cronjob-unter-windows/|Ein Cronjob unter Windows]])
  * Windows 7: Systemsteuerung -> Verwaltung -> Aufgabenplanung -> Aufgabe erstellen ([[http://windows.microsoft.com/de-de/windows/schedule-task#1TC=windows-7|
Planen eines Tasks]])
  * Windows 8: Ausführen (Windows-Taste + R) -> ''taskschd.msc'' eintippen -> OK -> Aktion -> Einfache Aufgabe erstellen ([[http://bits-meet-bytes.de/windows-8-1-aufgabenplanung/|Windows 8.1 Aufgabenplanung]])