Scheduling

Draft

  • Neuer Nutzer-Account SYSTEM_CARDO_BACKGROUNDTASK_USER

  • Schnittstellen

    IduIT.cardo.Core.ScheduledBackgroundTasks.Api.IScheduledBackgroundTaskFactory

    IduIT.cardo.Core.ScheduledBackgroundTasks.Api.IRunnableBackgroundTask

  • Integration in den IDUIwanCardoMonitoringService

  • Integration in den Anwendungseinstellungen

    • Einstellungen der Zeitsteuerung
    • Einstellungen für Statusversand per EMail

Start der Tasks

Aller 30 Sekunden wird geprüft, ob es zu startende Tasks gibt. Ein Task ist dann zu starten, wenn

  • Einstellungen zum Task hinterlegt sind
  • der Task nicht deaktiviert ist
  • der Task nicht schon läuft
  • und
    • der Task beim letzten Start mit Fehler abgebrochen wurde, ein Neustart nach einer bestimmten Zeit eingestellt wurde und diese Zeit überschritten ist
    • oder der nächste geplante Startzeitpunkt überschritten wurde (und eine ggf. hinterlegte Tolerenz noch nicht überschritten wurde)

Einstellungen

Für einen Task ist grundsätzlich festzulegen, ob er aktiviert oder deaktiviert ist. Ist ein Task deaktiviert, sind alle anderen Einstellung nicht relevant.

Zum Starten ist ein Startzeitpunkt zu hinterlegen. Dieser wird nicht 100%ig eingehalten werden können, da ein Task immer nach dem Erreichen des Startzeitpunktes gestartet wird, sofern die ggf. hinterlegte Toleranz noch nicht überschritten ist. Die Toleranz wird dann relevant, wenn der WebServer längere Zeit nicht in Betrieb ist.

Die genannte Toleranz ist in Minuten anzugeben. Sie kann aber auch weggelassen werden, dann wird der Task immer gestartet, wenn der nächste geplante Startzeitpunkt überschritten wurde - auch wenn das schon längere Zeit her ist. (siehe dazu auch die Anmerkungen an der Einstellung)

Über die Wiederholungen kann gesteuert werden, ob und wie häufig nach dem Startzeitpunkt der Task gestartet werden soll. Abhängig von diesen Einstellungen sollte auch die Toleranz belegt bzw. nicht belegt werden. Nach jeder Ausführung eines Tasks bzw. nach dem Speichern der Taskeinstellungen wird der nächste Startzeitpunkt errechnet. Der nächste Startzeitpunkt wird also nicht durch das Ende der letzten Abarbeitung bestimmt, sondern durch den Startzeitpunkt und das Intervall. Es ist sichergestellt, dass ein Task nicht mehrmals gleichzeitig gestartet wird.

Es kann eingestellt werden, dass der Task im Fehlerfall nach einer gewissen Anzahl an Minuten immer neu gestartet wird. Diese Einstellung wird im Fehlerfall primär ausgewertet, "überschreibt" also die Intervall-Einstellungen.

Über EMail-Einstellungen kann gesteuert werden, wer bei welchen Ereignissen per E-Mail über die Abarbeitung des Tasks informiert wird. Neben dem Ergebnis des Task-Aufrufs wird auch das Log in dieser Mail mitgeschickt.

Weiterhin kann man eine automatische Wiederherstellung bei (vermeintlich) dauerhafter Ausführung hinterlegen. D.h wenn sich ein Task die eingestellte (bzw. standardmäßig verwendete Zeit) im Status "Running" befindet, wird davon ausgegangen, dass der Task unerwartet abgebrochen wurde. Dann wird der Status zurückgesetzt und zum nächsten Zeitpunkt wird der Task wieder gestartet.

Dashboard

Im Dashboard ist ein Tab hinterlegt, auf dem alle in der cardo-Instanz registrierten Tasks aufgeführt werden. Dort kann bspw. der Status und der nächste Startzeitpunkt eingesehen werden.

Weiterhin ist es dort möglich, alle durchgeführten Abarbeitungen zu einem Task einzusehen und zu den Abarbeitungen auch die detaillierten Logs abzurufen.


Zuletzt geändert: 21.11.2022 08:12:39 (erstmals erstellt 26.08.2018)