2       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
   3    <title>2.7. Der Task-Server</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.5.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
 
   4       regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
 
   5       festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
 
   6       wird u.a. für die Erzeugung der wiederkehrenden Rechnungen und weitere
 
   7       essenzielle Aufgaben benutzt.</p><p>Der Task-Server muss einmalig global in der Konfigurationsdatei
 
   8       konfiguriert werden. Danach wird er für jeden Mandanten, für den er
 
   9       laufen soll, in der Adminsitrationsmaske eingeschaltet.</p><p>Beachten Sie, dass der Task-Server in den Boot-Vorgang Ihres
 
  10       Servers integriert werden muss, damit er automatisch gestartet wird.
 
  11       Dies kann kivitendo nicht für Sie erledigen.</p><p>Da der Taskserver als Perlscript läuft, wird Arbeitsspeicher, der
 
  12       einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben,
 
  13       solange der Taskserver läuft. Dies kann dazu führen, dass ein länger
 
  14       laufender Taskserver mit der Zeit immer mehr Arbeitsspeicher für sich
 
  15       beansprucht. Es ist deshalb sinnvoll, dass der Taskserver in
 
  16       regelmässigen Abständen neu gestartet wird.</p><div class="sect2" title="2.7.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.7.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
 
  17         <code class="literal">[task_server]</code> in der Datei
 
  18         <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
 
  19         Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
 
  20                      <code class="varname">run_as</code>
 
  21                   </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
 
  22               gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
 
  23               angegebenen Systembenutzer. Der Systembenutzer muss dieselben
 
  24               Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
 
  25               (siehe see <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
 
  26               ist es erforderlich, hier denselben Systembenutzer einzutragen,
 
  27               unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
 
  28                      <code class="varname">debug</code>
 
  29                   </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.7.2. Konfiguration der Mandanten für den Task-Server"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-der-Mandanten-fuer-den-Task-Servers"></a>2.7.2. Konfiguration der Mandanten für den Task-Server</h3></div></div></div><p>Ist der Task-Server grundlegend konfiguriert, so muss
 
  30         anschließend jeder Mandant, für den der Task-Server laufen soll,
 
  31         einmalig konfiguriert werden. Dazu kann in der Maske zum Bearbeiten
 
  32         von Mandanten im Administrationsbereich eine kivitendo-Benutzerkennung
 
  33         ausgewählt werden, unter der der Task-Server seine Arbeit
 
  34         verrichtet.</p><p>Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so
 
  35         wird der Task-Server für diesen Mandanten keine Aufgaben
 
  36         ausführen.</p></div><div class="sect2" title="2.7.3. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.7.3. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein
 
  37         reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
 
  38         Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
 
  39         Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
 
  40         einzubinden. Da das bei neueren Linux-Distributionen aber nicht
 
  41         zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
 
  42         anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere OpenSUSE, ältere Fedora)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1169"></a>2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere
 
  43           OpenSUSE, ältere Fedora)</h4></div></div></div><p>Kopieren Sie die Datei
 
  44           <code class="filename">scripts/boot/system-v/kivitendo-task-server</code>
 
  45           nach <code class="filename">/etc/init.d/kivitendo-task-server</code>. Passen
 
  46           Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
 
  47           <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
 
  48           Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults
 
  49 insserv kivitendo-task-server</pre></li><li class="listitem"><p>Ältere OpenSUSE und ältere Fedora:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
 
  50           werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.7.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1198"></a>2.7.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</h4></div></div></div><p>Kopieren Sie die Datei
 
  51           <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
 
  52           nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
 
  53           Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
 
  54           <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
 
  55           werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere Fedora, neuere Ubuntu und neuere Debians)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1216"></a>2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere
 
  56           Fedora, neuere Ubuntu und neuere Debians)</h4></div></div></div><p>Kopieren Sie die Datei
 
  57           <code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code>
 
  58           nach <code class="filename">/etc/systemd/system/</code>. Passen Sie in der
 
  59           kopierten Datei den Pfad zum Task-Server an (Zeilen
 
  60           <code class="literal">ExecStart=....</code> und
 
  61           <code class="literal">ExecStop=...</code>).</p><p>Machen Sie anschließend das Script systemd bekannt, und binden
 
  62           Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden Befehl
 
  63           aus:</p><pre class="programlisting">systemctl daemon-reload
 
  64 systemctl enable kivitendo-task-server.service</pre><p>Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt
 
  65           den Server neu zu starten, so können Sie das mit dem folgenden
 
  66           Befehl tun:</p><pre class="programlisting">systemctl start kivitendo-task-server.service</pre></div></div><div class="sect2" title="2.7.4. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.7.4. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
 
  67                <code class="literal">Befehl</code> ist dabei eine der folgenden
 
  68         Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
 
  69                      <code class="literal">start</code> startet eine neue Instanz des
 
  70             Task-Servers. Die Prozess-ID wird innerhalb des
 
  71             <code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
 
  72                      <code class="literal">stop</code> beendet einen laufenden
 
  73             Task-Server.</p></li><li class="listitem"><p>
 
  74                      <code class="literal">restart</code> beendet und startet ihn
 
  75             neu.</p></li><li class="listitem"><p>
 
  76                      <code class="literal">status</code> berichtet, ob der Task-Server
 
  77             läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
 
  78         kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
 
  79         Runlevel-Scripte benutzt werden (siehe oben).</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>