Aufgaben mit Vertec automatisieren
Produktlinie
Standard
|Expert
Betriebsart
CLOUD ABO
|ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
Um Vorgänge in Vertec, die regelmässig über Nacht durchgeführt werden, zu automatisieren, stehen ab Vertec 6.4 die geplanten Aufgaben zur Verfügung. Mit ihnen lassen sich zeitgesteuert Scripts in Vertec ausführen.
Im Ordner Einstellungen > Customizing > Geplante Aufgaben können neue geplante Aufgaben erzeugt werden.
Eine geplante Aufgabe hat folgende Eigenschaften:
Typ |
Es gibt zwei verschiedene Typen von Aufgaben:
|
Bezeichnung | Bezeichnung der geplanten Aufgabe. Wird z.B. in der Liste angezeigt. |
Aktiv | Es werden nur aktive geplante Aufgaben durchgeführt |
Wiederholungsmodus |
Hier kann zwischen Täglich und Wöchentlich gewählt werden. Die Zeit wird jeweils in der koordinierten Weltzeit UTC angegeben. Alternativ dazu kann ein CRON-Ausdruck angegeben werden. Informationen über den Aufbau von CRON-Ausdrücken finden Sie im Internet, zum Beispiel auf Wikipedia: https://de.wikipedia.org/wiki/Cron. Im Hintergrund führt jede dieser Angaben zu einem CRON-Ausdruck, mit welchem der Zeitpunkt der nächsten Ausführung ermittelt wird. Im Feld Nächste Ausführung weiter unten können Sie Ihre Eingaben kontrollieren, dort wird jeweils der Zeitpunkt der nächsten Ausführung sowohl in UTC als auch in lokaler Uhrzeit angezeigt. Anmerkung für das Cloud Abo: Wir empfehlen, die Ausführung auf einen Zeitpunkt von Montag - Freitag zwischen 02:00 Uhr und 19:00 Uhr zu legen. Ausserhalb dieser Zeiten kann es sein, beispielsweise aufgrund von Wartungsfenstern, dass ein laufender Task forciert beendet oder an diesem Tag nicht ausgeführt wird. |
Benutzer | Die geplante Aufgabe wird unter diesem Benutzer durchgeführt. Es muss hier also ein Benutzer hinterlegt werden, welcher über genügend Rechte verfügt, um dieses Script auszuführen, normalerweise der Administrator. |
Funktionsreferenz |
Als Funktionsreferenz wird der Name des Scripteintrags, gefolgt von der innerhalb dieses Scripts auszuführenden Funktion, durch Punkt abgetrennt, angegeben. Es muss sich um eine Funktion ohne Argumente handeln.
Einmal eingegeben, kann der Code über den Button mit den drei Punkten in einem Popup angezeigt werden. Über einen Button In Script Editor öffnen im Popup öffnet sich der Scripteintrag direkt im Script Editor und kann dort bearbeitet werden. |
Status |
Hier wird angegeben, ob die Durchführung erfolgreich war oder fehlgeschlagen ist. Ist die Durchführung fehlgeschlagen, wird im Feld Letzte Ausgabe weiter unten die Fehlermeldung angezeigt. |
Nächste Ausführung |
Hier wird jeweils der Zeitpunkt der nächsten Ausführung sowohl in UTC als auch in lokaler Uhrzeit angezeigt. Die Ermittlung der nächsten Ausführung erfolgt aufgrund des CRON-Ausdrucks (siehe Feld Wiederholungsmodus weiter oben) und der aktuellen Uhrzeit. Läuft jedoch der Cloud Server zu diesem Zeitpunkt nicht, kann die Ausführung nicht durchgeführt werden. Sobald der Cloud Server wieder läuft, ermittelt dieser die nächste Ausführung. Vergangene "verpasste" Ausführungen werden beim Start des Cloud Servers nicht nachgeholt, um zu verhindern, dass plötzlich viele Tasks gleichzeitig ausgeführt werden. |
Letzter Start | Startzeitpunkt der letzten Ausführung. |
Letzter Abschluss | Endzeitpunkt der letzten Ausführung. |
Letzte Ausgabe | Output der letzten Ausführung. Ist diese fehlgeschlagen, wird hier die Fehlermeldung angezeigt. |
Im Kontextmenü der geplanten Aufgabe gibt es einen Menüpunkt Jetzt ausführen. Hier ist es wichtig zu wissen, dass dieser Vorgang nicht die geplante Aufgabe auf den jetzigen Zeitpunkt setzt, sondern lediglich das Script ausführt – genau gleich, wie wenn das Script bzw. die aufgerufene Methode im Script Editor ausgeführt würde, und zwar unter dem eingeloggten Benutzer und nicht unter dem Benutzer, der in der geplanten Aufgabe hinterlegt ist.
Im Cloud Abo oder On-Premises, wenn im Vertec.ini - File
die Parameter Restrict Filesystem Access
oder Restrict Session Process
aktiviert sind, werden Berichte zum Speichern an den Client geschickt. In geplanten Aufgaben funktioniert dies nicht und wirft folgenden Fehler:
Der Bericht kann nicht gespeichert werden. Bitte verwenden Sie eine DMS Schnittstelle oder geben Sie einen leeren Speicherpfad an.
Als Abhilfe gibt es folgende zwei Möglichkeiten:
resultat = vtcapp.executereport2(projekt, None, vorlage, '')
. Der Bericht kann stattdessen z.B. per Mail versendet werden.Es gibt im Vertec.ini-File in der Section [CloudServer] folgende Parameter:
Task Scheduler
|
Steuert, ob das Task Scheduling aktiv ist oder nicht. Falls nicht, werden keine geplanten Aufgaben ausgeführt. Ist der Parameter nicht angegeben, gilt der Standard Task Scheduler = False Beim Betrieb von mehreren Cloud Servern darf nur einer davon die Aufgabe übernehmen, Tasks laufen zu lassen. Bei allen anderen muss dieser Parameter auf |
Task Scheduler Polling Minutes |
Steuert, alle wie viel Minuten auf ausstehende geplante Aufgaben überprüft wird. Natürliche Zahl, Standard ist 1. |
Task Scheduler Concurrent Tasks |
Steuert, wie viele geplante Aufgaben maximal parallel ausgeführt werden können. Natürliche Zahl, Standard ist 1. |
BI Task Scheduler Range Start
BI Task Scheduler Range End |
Damit kann das Zeitfenster, in welchem die BI Daten berechnet werden, definiert werden. Innerhalb dieses Zeitfensters wird vom Cloud Server eine Zeit gewürfelt, in welcher der Prozess angestossen wird. Die Startzeit wird durch eine neue Session beim Start vom Cloud Server gesetzt. Diese Parameter sind vor allem für das Vertec Cloud Abo von Bedeutung, können natürlich aber auch sonst verwendet werden. BI Task Scheduler Range Start=23:00 BI Task Scheduler Range End=05:00 So wird gewürfelt: Ausgehend von der Startzeit werden die Anzahl Minuten bis zur Endzeit ermittelt. Dann wird eine Zufallszahl von 0 bis zur Anzahl Minuten gewürfelt und dieser Wert der Startzeit hinzugezählt. Das ergibt den CRON-Ausdruck für die Ermittlung der nächsten Ausführung (siehe dazu die Beschreibung des Feldes Nächste Ausführung weiter oben). |