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 u.a. für die Erzeugung der wiederkehrenden Rechnungen und weitere essenzielle Aufgaben benutzt.
Der Task-Server muss einmalig global in der Konfigurationsdatei konfiguriert werden. Danach wird er für jeden Mandanten, für den er laufen soll, in der Adminsitrationsmaske eingeschaltet.
Beachten Sie, dass der Task-Server in den Boot-Vorgang Ihres Servers integriert werden muss, damit er automatisch gestartet wird. Dies kann kivitendo nicht für Sie erledigen.
Da der Taskserver als Perlscript läuft, wird Arbeitsspeicher, der einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben, solange der Taskserver läuft. Dies kann dazu führen, dass ein länger laufender Taskserver mit der Zeit immer mehr Arbeitsspeicher für sich beansprucht. Es ist deshalb sinnvoll, dass der Taskserver in regelmässigen Abständen neu gestartet wird.
Die Konfiguration erfolgt über den Abschnitt
        [task_server] in der Datei
        config/kivitendo.conf. Die dort verfügbaren
        Optionen sind:
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 erforderlich, hier denselben Systembenutzer einzutragen,
              unter dem auch der Webserver läuft.
debug
                  Schaltet Debug-Informationen an und aus.
Ist der Task-Server grundlegend konfiguriert, so muss anschließend jeder Mandant, für den der Task-Server laufen soll, einmalig konfiguriert werden. Dazu kann in der Maske zum Bearbeiten von Mandanten im Administrationsbereich eine kivitendo-Benutzerkennung ausgewählt werden, unter der der Task-Server seine Arbeit verrichtet.
Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so wird der Task-Server für diesen Mandanten keine Aufgaben ausführen.
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-task-server
          nach /etc/init.d/kivitendo-task-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 insserv kivitendo-task-server
Ältere OpenSUSE und ältere Fedora:
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
Kopieren 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 (Zeilen
          ExecStart=.... und
          ExecStop=...).
Machen Sie anschließend das Script systemd bekannt, und binden Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden Befehl aus:
systemctl daemon-reload systemctl enable kivitendo-task-server.service
Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt den Server neu zu starten, so können Sie das mit dem folgenden Befehl tun:
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).