SoSci Survey erlaubt einige zeitgesteuerte Funktionen, z.B. die Übertragung von Interviews in die Datenbank bei niedriger Serverlast (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 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.
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.
Der `crontab` sendet die Ausgabe des Scripts standardmäßig per E-Mail. Um das zu vermeiden, legen Sie ein kleines Bash-Script an, welches sich um den Aufruf kümmert:
#!/bin/bash cd /var/www/sosci/html/admin/ /usr/bin/php /var/www/sosci/html/admin/crontask.php password=SECRET
Dieses Script muss das „excetuable flag“ bekommen, z.B. mittels chmod u+x crontask.sh
. Der Pfad von php
kann variieren, z.B. /usr/lib/cgi-bin/php
. Testen Sie den Aufruf des Scripts in der Konsole. Anschließend können Sie einen Cronjob anlegen, welcher die Ausgabe verwirft:
# m h dom mon dow command */1 * * * * /var/www/script/crontask.sh >/dev/null 2>&1
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.
sudo crontab -e -u www-data
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.
C:\php\php.exe C:\webserver\documents\sosci\admin\crontask.php password=SECRET
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.
taskschd.msc
eintippen → OK → Aktion → Einfache Aufgabe erstellen (Windows 8.1 Aufgabenplanung)