Wenn eine Aktivität, die Erinnerungen enthält, ausgeführt wurde, werden die Erinnerungen in der Entität Reminders gespeichert. Der Zeitrahmen, in dem eine Erinnerung gesendet werden soll, wird wie folgt berechnet:
- Die Bereitstellungsdauer für die Erinnerung wird in Sekunden abgerufen. Dies kann direkt in Sekunden oder in Form eines Workflowdatenobjekt-Attributs angegeben werden.
- Die Dauer für die der Erinnerung zugeordneten Frist wird in Sekunden abgerufen. Dies kann direkt in Sekunden oder in Form eines Workflowdatenobjekt-Attributs angegeben werden.
- Wenn die Bereitstellungsdauer für die Erinnerung als positive Zahl angegeben wird und diese Zahl kleiner ist als die Fristdauer (Bereitstellungszeiten für Erinnerungen dürfen aus offensichtlichen Gründen nicht nach dem Fristdatum liegen), dann wird die Zeit für die Bereitstellung der Erinnerungsbenachrichtigung als die Fristdauer (die Bereitstellungsdauer der Erinnerung) berechnet. Diese Dauer in Sekunden wird dann in einen Wert für Datum/Uhrzeit konvertiert und anschließend dem Zeitpunkt (Datum/Uhrzeit) hinzugefügt, auf dessen Grundlage die Erinnerung erstellt wird. Dieser Wert wird dann im Erinnerungsdatensatz als der Zeitpunkt gespeichert, zu dem die Erinnerungsbenachrichtigung gesendet werden soll.
Erinnerungen, die für Fristen konfiguriert wurden, werden durch Aufrufen des Batch-Jobs ScanTaskDeadlines verarbeitet und gesendet. Dieser Batch-Job ruft die Funktion DeadlineScanner.scanDeadlines() auf, die einen Scan nach fälligen Erinnerungen durchführt und die entsprechenden Erinnerungsbenachrichtigungen (mithilfe der Zuteilungsstrategie für Erinnerungsbenachrichtigungen, um die Benutzer zu ermitteln, an die die Benachrichtigungen gesendet werden sollen) sendet. Die Erinnerungen, die gesendet wurden, werden aus der Entität Reminders entfernt, um sicherzustellen, dass sie nicht noch einmal gesendet werden. Wenn die Aktivität abgeschlossen wird, werden alle Erinnerungen, die für die Aktivität konfiguriert, aber nicht gesendet wurden, entfernt.