SOG-Helpcenter Logo SOG Business - Software

Starten des Jobschedulers und des Jobhandler


Der SOG ERP (VACOS) Jobscheduler-Dienst beurteilt die Fälligkeit von Job-Einplanungen, und übergibt fällige Jobschritte zur Ausführung an Jobhandler.

Der Jobscheduler-Dienst ist Bestandteil des Programms SOGERPSrv, das entweder direkt im Vordergrund gestartet, oder aber auf dem SOG ERP (VACOS)-Server als Windows-Dienst installiert werden kann.

Installation als Windows-Dienst
Um SOGERPSrv als Windows-Dienst zu installieren sind folgende Schritte notwendig:

Legen Sie eine Konfigurationsdatei an. Diese Konfigurationsdatei sollte in dem Verzeichnis "c:\local" liegen, und den Namen "VacosService_cfg.xml" tragen.

In der Datei können beliebig viele Dienste konfiguriert werden, die bei Start von SOGERPSrv gestartet, und bei seinem Ende mit beendet werden.

Die Konfigurationsdatei hat dabei folgenden Aufbau:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="LogonScript" value="c:\local\logon.bat" />
    <add key="Startdelay" value="30" />
    <add key="TermAppOnExit" value="true" />
    <add key="Service_1" value="hdl,01,JobScheduler,60" />
    <add key="Service_1_Semaname" value="jobscheduler" />
    <add key="Service_1_External" value="true" />
    <add key="Service_2" value="hdl,01,JobHandler,60" />
    <add key="Service_2_Semaname" value="jobhandler_1" />
    <add key="Service_2_Attributes" value="email,xxx,yyy" />
    <add key="Service_2_HandleAllUsers" value="false" />
    <add key="Service_2_OnlyMatching" value="false" />
    <add key="Service_2_DumpInfoMinuten" value="0" />
    <add key="Service_2_External" value="true" />
    <add key="Service_2_InitProc" value="VacosConsole.exe|-clearoldproc" />
  </appSettings>
</configuration>


In diesem Beispiel wird über "LogonScript" ein Script definiert, welches bei Start des Dienstes einmal ausgeführt wird. Hier können z.B. Netzlaufwerke erzeugt werden. Die Angabe eines LogonScriptes ist optional. Über "Startdelay" kann definiert werden, wieviele Sekunden nach dem Start von SOGERPSrv gewartet wird, bis weitere Aktionen durchgeführt werden. Hierdurch können Startvorgänge zeitlich synchronisiert werden.
Die Angabe von "TermAppOnExit" = "true" sorgt dafür, dass bei Beenden des Dienstes ein Signal an alle aktiven Programme gesendet wird, die durch den Dienst gestartet wurden, das dafür sorgen sollte, dass auch diese Programm sich mit beenden.

Anschließend werden hier 2 Dienste installiert und konfiguriert. "Service_1" ist ein JobScheduler, der alle 60 Sekunden nachschaut, ob neue Jobs fällig sind. "Service_2" ist ein Jobhandler, die fällige Jobschritte ausführen kann. Die Angabe von Semaphorennamen verhindert den Mehrfachstart von Jobscheduler und Jobhandler. Die Angabe ist Optional und wird ansonsten durch einen Standardwert ersetzt. "NONE" bewirkt, dass keine Semaphore geschützt wird.

Die Angabe von Attributen ist Optional. Hier kann bestimmt werden, welche Eigenschaften der Jobhandler besitzt.

Durch Setzen der Option "HandleAllUsers" auf "true" wird dafür gesorgt, dass der Jobhandler Aufträger aller Benutzer akzeptiert und abarbeitet. Achtung: Dies stellt ein Sicherheitsrisiko dar, da dadurch Benutzer die Möglichkeit bekommen, Programme unter dem Jobhandler-Account zu starten.

Wird "OnlyMatching" auf "true" gesetzt, werden nur Jobs verarbeitet, die passende Serverattribute gesetzt haben. Jobs ohne Server-Attribute werden nicht behandelt!
Wird DumpInfoMinuten gesetzt, so wird ein inaktiver Jobhandler alle "n" Minuten einen Dump nach "${LOGDIR}\\VacosSrvDump" schreiben, wenn Aufträge warten, er diese aber nicht abarbeitet. Dies erlaubt die Analyse, warum die Aufträge nicht abgearbeitet werden!

Rufen Sie nun das Kommando "bin\debug.srv\SOGERPSrv.exe -install" im SOG ERP (VACOS)-Verzeichnis auf Ihrem SOG ERP (VACOS)-Server auf, um den SOGERPSrv als Windows-Dienst zu installieren. Passen Sie die Eigenschaften des installierten Dienstes über die Systemsteuerung nach Ihren Erfordernissen an.

Starten Sie den Windows-Dienst über die Systemsteuerung.

Direktstart von Jobscheduler und Jobhandler über SOGActiveSkin


Über das SOGActiveSkin Menü können die Funktionen "Jobscheduler" und "Jobhandler" auch direkt gestartet werden. Damit ein Benutzer diese Menüpunkte sehen und starten kann, sind jedoch bestimmte SOG ERP (VACOS)-Rechte notwendig (Siehe "SOG ERP (VACOS) Rechte in der Jobsteuerung")

Hat der aktuelle Sachbearbeiter die notwendigen Rechte, erscheinen im SOG ERP (VACOS)-Menü unter "Systemfunktionen" die Punkte "Jobhandler im Vordergrund starten", sowie "Dienst Jobscheduler direkt starten".

Bitte beachten Sie: Der Jobscheduler kann und sollte nur ein einziges mal (pro Datenbank) aktiv sein.

Jobhandler können mehrfach gestartet werden, sofern sie mit unterschiedlichen Semaphorennamen versorgt werden. Jeder Jobhandler verarbeitet nur Jobschritte die von dem gleichen Sachbearbeiter stammen, der den Jobhandler gestartet hat (Rechteumgebung). Durch setzen der Option "HandleAllUsers" auf "true" kann erreicht werden, dass der Jobhandler Jobs aller Benutzer ausführt. Als Benutzerkonto wird jedoch immer das Konto genutzt, unter dem der Jobhandler gestartet wurde.

Starten Sie z.B. mehrere Jobhandler auf unterschiedlichen Rechnern, um eine Parallelverarbeitung von Jobschritten zu erreichen.

Über den Parameter "External" kann gesteuert werden, ob der Dienst in einem eigenen Prozess gestartet werden soll.

Über "InitProc" können Sie einen Prozess angeben, der jeweils vor dem Neustart eines Externen Processes zu Initialisierungszwecken aufgerufen wird.

Direktstart von Jobscheduler und Jobhandler über die Kommandozeile


Zur Einbindung in andere Startumgebungen können Jobscheduler und Jobhandler auch direkt über die Kommandozeile, oder in Form einer Verknüpfung gestartet werden. Die Syntax für den Aufruf sieht wie folgt aus:

    SOGERPSrv.exe -x jobscheduler

bzw.

    SOGERPSrv.exe -x jobhandler

Das Programm SOGERPSrv erstellt in diesem Fall ein animiertes Icon im Systemtray, über das es auch mit Hilfe der rechten Maustaste wieder beendet werden kann.

Bei dieser Form des Direktstarts können auch die weiteren Parameter eines Dienstes, die sonst in der SOGERPSrv-Konfigurationsdatei angegeben werden, gesetzt werden. Beispiel:

  SOGERPSrv.exe -x jobhandler -semaname meier1

Es kann jedoch pro SOGERPSrv-Instanz nur genau ein Dienst gestartet werden. Sollen mehrere Dienste über diesen Weg gestartet werden, starten Sie einfach mehrere SOGERPSrv-Instanzen.