Der Task-Server ist ein Prozess, der im Hintergrund läuft, in regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen bekommen.
Die Konfiguration erfolgt über den Abschnitt
[task_server]
in der Datei
config/kivitendo.conf
. Die dort verfügbaren
Optionen sind:
login
gültiger kivitendo-Benutzername, der benutzt wird, um die zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden.
run_as
Wird der Server vom Systembenutzer root
gestartet, so wechselt er auf den mit run_as
angegebenen Systembenutzer. Der Systembenutzer muss dieselben
Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
(siehe see Manuelle Installation des Programmpaketes). Daher
ist es sinnvoll, hier denselben Systembenutzer einzutragen,
unter dem auch der Webserver läuft.
debug
Schaltet Debug-Informationen an und aus.
Der Task-Server verhält sich von seinen Optionen her wie ein reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim Starten automatisch in das kivitendo-Installationsverzeichnis.
Deshalb ist es möglich, ihn durch Setzen eines symbolischen Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess einzubinden. Da das bei neueren Linux-Distributionen aber nicht zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die anstelle eines symbolischen Links verwendet werden können.
Kopieren Sie die Datei
scripts/boot/system-v/kivitendo-server
nach /etc/init.d/kivitendo-server
. Passen
Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
DAEMON=....
). Binden Sie das Script in den
Boot-Prozess ein. Dies ist distributionsabhängig:
Debian-basierende Systeme:
update-rc.d kivitendo-task-server defaults # Nur bei Debian Squeeze und neuer: insserv kivitendo-task-server
Ältere OpenSUSE und ältere Fedora Core:
chkconfig --add kivitendo-task-server
Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:
/etc/init.d/kivitendo-task-server start
Kopieren Sie die Datei
scripts/boot/upstart/kivitendo-task-server.conf
nach /etc/init/kivitendo-task-server.conf
.
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
exec ....
).
Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:
service kivitendo-task-server start
Verlinken Sie die Datei scripts/boot/systemd/kivitendo-task-server.service
nach
/etc/systemd/system/
. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
ExecStart=....
und ExecStop=...
). Binden Sie das Script in den Boot-Prozess ein.
Alle hierzu benötigten Befehle sehen so aus:
cd /var/www/kivitendo-erp/scripts/boot/systemd ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:
systemctl start kivitendo-task-server.service
Der Task-Server wird wie folgt kontrolliert:
./scripts/task_server.pl Befehl
Befehl
ist dabei eine der folgenden
Optionen:
start
startet eine neue Instanz des
Task-Servers. Die Prozess-ID wird innerhalb des
users
-Verzeichnisses abgelegt.
stop
beendet einen laufenden
Task-Server.
restart
beendet und startet ihn
neu.
status
berichtet, ob der Task-Server
läuft.
Der Task-Server wechselt beim Starten automatisch in das kivitendo-Installationsverzeichnis.
Dieselben Optionen können auch für die SystemV-basierenden Runlevel-Scripte benutzt werden (siehe oben).
Beim Task-Server wird der Login-Name des Benutzers, unter dem der Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat man mehrere Mandanten muß man auch mehrere Konfigurationsdateien anlegen.
Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, wo in der Kategorie [task_server] der gewünschte "login" steht.
Der alternative Task-Server wird dann mit folgendem Befehl gestartet:
./scripts/task_server.pl -c config/DATEINAME.conf