Timer-Dienst
Der Timer-Dienst ermöglicht es Ihnen, bestimmte Daten in einem definierten Zeitintervall automatisiert abzurufen. So können Sie den unter Windows zu installierenden Timer-Service beispielsweise zum automatisierten Abruf von E-Mails oder zum automatischen Einlesen von Belegen über die an die myfactory angebundenen Schnittstellen verwenden.
VoraussetzungenInstallationDienst konfigurierenDienst für mehrere Instanzen und / oder mehrere Datenbanken konfigurierenEventlog-Einträge generierenDienst startenAutomatisches Abrufen von PostfächernHinweis für EntwicklerVoraussetzungen
Derzeit wird für den Timer-Dienst der User "Webshop" benötigt.
Installation
Starten Sie die Installation durch Doppelklick auf die Datei "wfSetupTimerService.msi".
Geben Sie den Installationspfad an.
Starten Sie dann die Installation.
Warten Sie, bis die Installation beendet ist.
Dienst konfigurieren
Die Konfigurationsdatei für den Dienst finden Sie in dem bei der Installation angegebenen Verzeichnis (im Standard
"C:\Programme\myfactory\wfSetupTimerService").
Öffnen Sie die Datei
"app.config" z.B. mit dem Editor Notepad++.
Die Konfigurationsparameter finden Sie am Ende der Datei:
Name der Instanz (AppName) – Hierbei ist es ausreichend, den Namen der Instanz anzugeben.
Nummer der BetriebsstätteAnzahl der Millisekunden, in der die Verarbeitung aufgerufen wird (60.000 entspricht also einer Minute)
URL zum Server; hier kann zusätzlich noch ein Port angegeben werden.
Befindet sich der Timer-Dienst auf dem gleichen Server wie die Anwendung, kann dieser Parameter leer bleiben, wie bspw. nachfolgend. Ist der Servername leer, wird ersatzweise automatisch
http://localhost/ gesetzt.
Sollte sich der Timer-Dienst auf einem anderen Server als die Anwendung befinden, dann darf als URL lediglich der Servername eingetragen werden!!
=> Die URL wird zusammengesetzt aus
Servername + WebName + … services/TimerService.asmxBeispielsweise kann dies wie folgt konfiguriert werden:
Name der Datenbank aus der wfGlobal, Tabelle tsDatabases, Feld DatabaseName
Name der Instanz (WebName) - dieser ist in der Regel gleich dem Namen der Instanz (AppName).
Ist hier kein Name der Instanz angegeben, so gilt:
WebName = AppNameSollten Sie die Konfigurationsdatei ändern, so muss danach der Dienst neu gestartet werden, damit die Änderungen wirksam werden.
Zum AnfangDienst für mehrere Instanzen und / oder mehrere Datenbanken konfigurieren
Mit dieser Version des Timer-Dienstes ist es möglich, mehrere Instanzen zu verwalten. Hierbei müssen bei der Konfiguration der Datei
"app.config" lediglich drei Felder zusätzlich zu den oben Erwähnten beachtet werden.
1. Name der Instanz (AppName) / Name der Instanz (WebName)In diesem Statement konnte bisher die Instanz hinterlegt werden, welche über den Timer-Dienst angesprochen wurde. Mit dieser Version des Timer-Dienstes können hier mehrere Instanzen hinterlegt werden. Diese Instanznamen müssen mittels der Schreibweise
´$;$´ jedoch zwangsweise getrennt voneinander angegeben werden.
2. URL zum Server; hier kann zusätzlich noch ein Port angegeben werdenEbenso wie bei dem Namen der Instanz ist hier die URL zu der entsprechenden Instanz zu hinterlegen. Bitte beachten Sie, dass zu jeder Instanz eine URL hinterlegt werden muss, um einen reibungslosen Ablauf zu gewährleisten. Werden also, wie in diesem Beispiel, drei Instanzen hinterlegt, so müssen auch drei URLs eingetragen sein, selbst wenn sich diese auf die gleiche Quelle beziehen.
3. Name der Datenbank aus der wfGlobal, Tabelle tsDatabases, Feld DatabaseNameMit dieser Eingabe haben Sie die Möglichkeit, eine, mehrere oder alle angehängten Datenbanken automatisiert abzurufen.
Eine Datenbank berücksichtigen:Alle Datenbanken berücksichtigen (keinen Datenbanknamen hinterlegen):Mehrere Datenbanken berücksichtigen (zur Trennung ´$;$´ verwenden):Zum AnfangEventlog-Einträge generieren
Der Timer-Dienst generiert nach der Installation keine separaten Eventlog-Einträge. Um zusätzliche Informationen bei evtl. auftretenden Störungen zu erhalten, können über die Konfiguration entsprechende Einträge erzeugt werden.
Dies kann in der bereits oben beschriebenen Datei
"app.config" geschehen, indem der standardmäßig gesetzte Wert "0" auf den Wert "-1" gesetzt wird.
Weiterhin können zwei Kommentare in der Datei
TimerService.asmx einkommentiert werden. Nachfolgend ein Auszug aus der Datei
TimerService.asmx im Verzeichnis
"C:\Programme\myfactory\myfactory30\ASP\Services".
Die beiden fett hervorgehobenen Kommentare müssen einkommentiert werden. Im ersten Fall wird ein Eventlog generiert, ob eine Anmeldung am Dienst möglich ist. Im zweiten Fall wird ein Eintrag generiert, ob ein Mailabruf möglich ist.
Zum AnfangDienst starten
Den installierten Dienst finden Sie nun in der Dienstverwaltung unter
"Start / Systemsteuerung / Verwaltung / Dienste" unter
wfTimerService.
Rufen Sie die Eigenschaften des Dienstes auf und starten Sie den Dienst über die entsprechende Schaltfläche.
Wählen Sie den Starttyp "Automatisch", so wird der Dienst nach jedem Neustart des Servers automatisch gestartet.
Standardmäßig wird der Dienst im Setup des Timer-Dienstes unter der Anmeldung "Lokales Systemkonto" installiert.
Abweichend kann in diesem Register "Anmelden" auf Wunsch auch ein Konto eines Users hinterlegt werden, unter dem der Dienst dann laufen soll. Wird dies gewählt, so empfehlen wir hier den User zu hinterlegen, unter dem auch die Instanz der myfactory.BusinessWorld installiert ist.
Automatisches Abrufen von Postfächern
Nach der Installation des Timer-Dienstes kann das automatische Abrufen von Postfächern konfiguriert werden.
Rufen Sie über die Detail-Schaltfläche [ … ] in einem selbst gewählten entsprechenden Postfach-Dialog...
… die Postfacheigenschaften eines Postfaches auf. Hier können Sie nun die Option "Postfach automatisch abrufen" aktivieren.
Nach Bestätigung durch Drücken des [ OK ]-Buttons werden die E-Mails für dieses Postfach automatisiert über den Timer-Dienst abgerufen.
Hinweis für Entwickler
Die Umsetzung erfolgt über ein SysEvent (siehe Datei
TimerService.asmx im Verzeichnis
"C:\Programme\myfactory\myfactory30\ASP\Services". (Standard-Verzeichnis; das Verzeichnis kann bei jedem Anwender natürlich individuell unterschiedlich sein).
Zum Anfang