Deep Dive: Überblick über terminierte Cron-Jobs und deren Konfiguration
Bei Cron-Jobs handelt es sich um Aufträge, die zu bestimmten Zeiten automatisch ausgeführt werden oder manuell ausgelöst werden können, um Softwareaufgaben im Hintergrund auszuführen. Die Verwendung von Cron-Jobs ist in webbasierten Anwendungen sehr verbreitet. Die imc Learning Suite bildet hier mit einer großen Anzahl von regelmäßig zu verarbeitenden Jobs keine Ausnahme.
Vorteile von terminierten Cron-Jobs
Cron-Jobs sind sehr wichtig, um die Effizienz des Systems zu maximieren. Die Planung von Cron-Jobs zur automatischen Verarbeitung gewährleistet, dass:
-
die Aufträge kontinuierlich im Hintergrund ausgeführt werden können
-
die Verarbeitung zusammengehöriger Aufträge in einer logischen Reihenfolge erfolgt
-
die Fertigstellung in den gewünschten Intervallen erfolgt
-
die Fertigstellung größerer Aufträge außerhalb der Hauptnutzungszeit erfolgt, um die Systembelastung zu verringern
Wo werden Cron-Jobs konfiguriert?
Innerhalb der imc Learning Suite wurden Cron-Jobs in der Vergangenheit von Scheer IMC-Consultants in kodierten Konfigurationsdateien verwaltet. Seit Version 14 der imc Learning Suite können jedoch alle Cron-Jobs über die grafische Benutzeroberfläche in der Funktion Schedulded Jobs konfiguriert werden. Dies bedeutet, dass Scheer IMC-Kunden nun in der Lage sind, die aktiven Cron-Jobs zu sehen, die geplanten Zeitabläufe einzusehen, Zeitänderungen vorzunehmen und sogar zusätzliche Cron-Jobs zu aktivieren.
Wenn die Funktion Scheduled Jobs nicht verfügbar ist, kann sie über die Navigation konfiguriert werden und wird normalerweise im Ordner Einstellungen > Systemverwaltung mit der Identifikator m_jobs erstellt.
Wie werden Cron-Jobs konfiguriert?
Während eines imc Learning Suite-Implementierungsprojekts aktiviert der Scheer IMC-Projektconsultant normalerweise alle erforderlichen Cron-Jobs in den empfohlenen Zeitabständen. Das Timing der Jobs ist wichtig, um sicherzustellen, dass verschiedene zusammenhängende Jobs in einer logischen Reihenfolge abgearbeitet werden. Da mit den Innovationspaketen häufig neue Cron-Jobs eingeführt werden, ist es notwendig, die Schedulded Jobs gelegentlich zu aktualisieren. Bei der Erstellung oder Bearbeitung eines Cron-Jobs können die folgenden Felder ausgefüllt werden:
-
Name: Name, der dem Cron-Job gegeben werden soll.
-
Geplante Aufgabe: Wenn Sie die Checkbox aktivieren, wird der Cron-Job automatisch auf Basis des für die Cron-Expression festgelegten Wertes ausgeführt.
-
Cron-Expression: Wird aktiviert, wenn die Checkbox Geplante Aufgabe markiert ist. Der Wert muss ein gültiges Quartz Cron-Format sein.
-
Mandanten-ID: Für geplante Aufgaben kann ein Mandant ausgewählt werden. Nicht alle Cron-Jobs unterstützen jedoch eine mandantenspezifische Verarbeitung.
-
Mandantenauswahl für manuelle Jobausführung: Wenn ein Cron-Job erstellt wird, der keine geplante Aufgabe ist, ermöglicht die Aktivierung dieser Checkbox dem Administrator bei einer manuellen Verarbeitung des Cron-Jobs die Auswahl eines Mandanten.
-
Beim Start ausführen: Legt fest, ob die referenzierte Aufgabe beim Starten des Applicationservers oder nur auf der Grundlage des Parameters cronExpression ausgeführt werden soll.
-
Auf jedem Knoten ausführen: Legt fest, ob die Aufgabe auf jedem Knoten in einem Anwendungscluster ausgeführt werden muss. Zum Beispiel, wenn ein Job das lokale Dateisystem auf jedem Knoten ändern muss.
-
Processor-Name: Hier kann der gewünschte Cron-Job aus einer Liste ausgewählt werden.
Was die Cron-Expression betrifft, so verwendet die imc Learning Suite ein Quartz-Cron-Format, das die Planung nach Sekunden, Minuten, Stunden, Monatstag, Monat, Wochentagen und Jahr ermöglicht. Nachfolgend sind einige gängige Cron-Expressions mit den entsprechenden Zeiten und Intervallen aufgeführt:
|
Expression |
Bedeutung |
|---|---|
|
0 */5 * ? * * |
Alle 5 Minuten |
|
0 */30 * ? * * |
Alle 30 Minuten |
|
0 0 6 * * ? |
Jeden Tag um 6 Uhr morgens |
|
0 0 23 * * ? |
Jeden Tag um 23 Uhr |
|
0 0 */3 ? * * |
Alle 3 Stunden |
|
0 0 12 ? * MON-FRI |
Jeden Wochentag um 12 Uhr |
Weitere Informationen zur Bildung eines Quarz-Cron-Formats finden Sie unter
https://www.freeformatter.com/cron-expression-generator-quartz.html
Beispiel für Schlüsseljobs und Sequenzierung
Wie bereits erwähnt, sind das Timing und die Abfolge der terminierten Jobs sehr wichtig. Zum Beispiel: Importieren von Benutzern vor der Zielgruppenzuweisung, gefolgt von automatischer Kurseinschreibung, dann Berichtsabonnements und schließlich Benachrichtigungen kurz vor den Arbeitszeiten. Diese Reihenfolge würde die Zeitspanne minimieren, in der neue oder aktualisierte Nutzer automatisch für obligatorische Schulungen eingeschrieben werden können. Darüber hinaus ist es wichtig zu vermeiden, dass verschiedene Cron-Jobs gleichzeitig ausgeführt werden, da dies zu einer hohen Datenbankbelastung führen kann, insbesondere in Spitzenzeiten.
Nachfolgend finden Sie ein Beispiel für die übliche Abfolge terminierter Cron-Jobs, die in Workflows für Compliance-Schulungen erforderlich sind:
Im Folgenden finden Sie eine Reihe von terminierten Cron-Jobs, die häufig in Schulungs-Workflows benötigt werden, insbesondere zur Automatisierung von Compliance-Schulungen:
-
Nutzer importieren: Erzeugt und aktualisiert Nutzer aus einem Quellsystem.
-
Jobname: UserImport
-
Ausführungszeitpunkt: 0 0 1 * * ? (täglich 1 Uhr nachts)
-
-
XML-Gruppen-Import: Erstellt und aktualisiert die Gruppenstruktur der Organisationseinheit sowie die Zuordnungen aus einem Quellsystem. Sollte idealerweise nach dem Nutzerimport erfolgen.
-
Jobname: XMLGroupImport
-
Ausführungszeitpunkt: 0 0 2 * * ? (täglich 2 Uhr nachts)
-
-
Skill-Ablauf: Wichtig für Kunden, die das Skills Add-on verwenden, da die benötigten Trainings meist abhängig von den Lücken in den Skills sind.
-
Jobname: SkillExpiration
-
Ausführungszeitpunkt: 0 0 3 * * ? (täglich 3 Uhr nachts)
-
-
Zielgruppen-Personenzuordnung: Aktualisiert die Zuweisung von Nutzern zu bzw. die Entfernung von Nutzern aus regelbasierten Zielgruppen. Diese werden häufig in Compliance-Workflows und am besten vor dem Job Automatische Buchung verwendet.
-
Jobname: TargetGroupPersonAssignment
-
Ausführungszeitpunkt: 0 0 4 * * ? (täglich 4 Uhr nachts)
-
-
Automatische Kurserstellung: Zur automatischen Erstellung von Kursen für Online-Rezertifizierungsschulungen.
-
Jobname: AutomaticCourseCreation
-
Ausführungszeitpunkt: 0 0 5 * * ? (täglich 5 Uhr nachts)
-
-
Automatische Einschreibung von Teilnehmern: Wichtig nach dem Nutzerimport und der Zielgruppen-Personenzuordnung, um den Zeitaufwand für die Einschreibung neuer Nutzer in Schulungskurse oder Lernpfade zu verringern.
-
Jobname: ParticipantAutomaticRegistration
-
Ausführungszeitpunkt: 0 0 6 * * ? (täglich 6 Uhr morgens)
-
-
OS-Report-Abonnement: Durch die Erstellung von abonnierten Berichten nach Nutzerimporten und Trainingszuweisungen erhalten Administratoren oder Vorgesetzte die aktuellsten Daten.
-
Jobname: OSReportSubscription
-
Ausführungszeitpunkt: 0 0 7 * * ? (täglich 7 Uhr morgens)
-
-
Benachrichtigungen: Dient zum Versenden von zeitbasierten Benachrichtigungen, wie z. B. Erinnerungen an Schulungen, Komponentenplanung, herannahende Fälligkeitstermine oder das Ablaufen von Skills. Sollte am besten nach anderen Prozessen und vor den allgemeinen Arbeitszeiten ausgeführt werden.
-
Jobname: Benachrichtigung
-
Ausführungszeitpunkt: 0 0 8 * * ? (täglich 8 Uhr morgens)
-
Es gibt viele weitere verwandte Cron-Jobs, die die Schulungs-Workflows und allgemeinen System-Updates ergänzen.
Liste der verfügbaren Cron-Jobs
Die vollständige Liste der verfügbaren Cron-Jobs finden Sie in der Funktionsübersicht auf der Seite „Scheduled Jobs“. Alternativ können Sie jeden Cron-Job auch in der LMS-Funktion „Scheduled Jobs“ einsehen, wenn Sie einen neuen Cron-Job erstellen.
Wenn Sie weitere Informationen zu einem nicht erwähnten Cron-Job benötigen oder wenn Sie eine Anleitung benötigen, erstellen Sie bitte ein Scheer IMC Service Desk Ticket.