Einige Aktionen oder Aufgaben können so von Entwicklern programmiert werden, dass sie asynchron für den Benutzer auf dem Server ausgeführt werden. Entwickler müssen solche Hintergrundprozesse mit einer Priorität versehen, um eine Überlastung der Serverressourcen zu vermeiden. Wenn ein Hintergrundprozess nicht sofort gestartet werden kann, sorgt die Anwendung automatisch dafür, dass er zum nächsten möglichen Zeitpunkt gestartet wird. Hintergrundprozesse können von Entwicklern auch zu bestimmten Zeiten oder periodisch ausgeführt werden.
Priorität | Anzahl gleichzeitiger Hintergrundprozesse | Bemerkung |
---|---|---|
Langsam | Anzahl der logischen Prozessoren des Webservers / 2 | |
Schnell | Anzahl der logischen Prozessoren des Webervers / 4 | Sind alles schnellen Hintergrundprozesse belegt, wird ein weitere schneller Hintergrundprozess automatisch als langsamer Hintergrundprozess ausgeführt, so lange es noch freie langsame Hintergrundprozesse gibt. |
Sofort | Keine Limits | Diese Priorität nur für sehr schnelle Hintergrundprozesse verwenden, die sofort ausgeführt werden können. |
Die Anzahl der gleichzeitigen Hintergrundprozesse pro Priorität kann bei Bedarf beeinflusst werden. Siehe dazu Anwendungsparameter in Customer.Config.
Für Anwender steht das Navigationssteuerelement „Übersicht Hintergrundprozesse” zur Verfügung. Dieses Steuerelement zeigt laufende Hintergrundprozesse des aktuellen Benutzers an. Es gibt auch Hintergrundprozesse, die durch die Anwendung automatisch augelöst werden oder aber unabhängig von einem Benutzer ausgeführt werden. Diese werden über dieses Navigationssteuerelement nicht angezeigt.
In der Anwendung gibt es die folgenden Hintergrundprozesse:
Sichtbar | Hintergrundprozess | Priorität | Info |
---|---|---|---|
System | ConfigurationRestorePointCreateTask | Langsam | Wiederhertellungspunkt beim Starten und bei Änderungen im Designer |
System | TaskUpdateCommonFieldsValues | Langsam | Beim Systemstart Änderungen an den Common Fields berechnen. |
System | UpdateRelatedDataForDeletedRecord | Langsam | Gelöschte Datensätze aus Relationstabelle entfernen. |
System | ScheduleMailWorkerTask | Sofort | Versenden von E-Mails |
System | SyncWorkItem | Langsam | E-Mail Synch |
Benutzer | MassOperationUpdateMassCorrespondence | Langsam | Anlegen der Statusdatensätze speziell für Serienkorrespondenzen |
Benutzer | MassOperationRelationsCreatorTask | Langsam | Anlegen der Statusdatensätze für allgemeine Massenoperationen |
Benutzer | MassLetterWorkerTask | Langsam | Erstellen Serienbrief |
Benutzer | MassEMailResetWorkerTask | Langsam | Zurücksetzen fehlerhafte Serien-E-Mails |
Benutzer | MassEMailSendWorkerTask | Langsam | Versenden Serien-E-Mails |
Benutzer | UpdateRecordCollection | Langsam | Datensätze in Ordner hinzufügen oder aus Ordner entfernen |
Die meisten Benutzer-Hintergrundprozesse schreiben ein Protokoll, welches in der Anwendung über eine Ansicht und eine Maske sichtbar gemacht werden kann. Die Protokolle werden in der Protokoll-Sprache geschrieben, welche in den Anwendungseinstellungen festgelegt ist.