Aufgaben planen und ausführen
Aufgaben erledigen Wartungsschritte wie die Indexierung oder Sitemap-Erzeugung. Eine registrierte Aufgabe läuft erst regelmäßig, wenn der Scheduler passend eingerichtet und seine Ausführung kontrolliert wird.
Aufgaben finden
Öffnen Sie Verwaltung → System & Einstellungen → Automatisierung → Aufgaben. Die Tabelle enthält Name, Beschreibung, Zuletzt gestartet, Zuletzt abgeschlossen und Zuletzt ausgeführt von. Core und Erweiterungen können unterschiedliche Aufgaben bereitstellen.
Abbildung 1: Eine vorhandene Aufgabe ist noch kein Zeitplan. Leere Ausführungsspalten bedeuten nicht, dass sie automatisch im Hintergrund läuft.
Lesen Sie vor dem Ausführen die Beschreibung. Sitemap generieren erzeugt beispielsweise die Datei sitemap.xml. Inhalt neu indizieren bearbeitet Suchindizes. Andere Aufgaben entfernen alte Seitenversionen oder Benutzer. Diese Vorgänge haben unterschiedliche Wirkungen; eine Aufgabenliste ist keine Sammlung von Schaltflächen, die gelegentlich alle angeklickt werden sollten.
Legen Sie für einen regelmäßigen Lauf fest: Was soll erreicht werden, welcher Bestand ist betroffen, wie oft ist das nötig und woran wird ein Fehler erkannt? Bei Erweiterungsaufgaben gehört dazu ein Blick in deren Beschreibung und Konfiguration. Die Aufgabe ConcreteCMS-Download aktualisieren dieser Website ist beispielsweise eine Paket-Funktion und kein Bestandteil jeder ConcreteCMS-Installation.
Alte und aktuelle Aufgaben unterscheiden
Unter Optimierung → Automatisierte Aufträge kann weiterhin eine ältere Verwaltungsseite vorhanden sein. In ConcreteCMS 9 zeigt sie einen Hinweis, dass Aufträge veraltet sind und für neue Abläufe Aufgaben verwendet werden sollen.
Abbildung 2: Ein älterer Artikel kann noch auf Aufträge verweisen. Der passende Einstieg in der gezeigten Version ist Automatisierung → Aufgaben.
Übernehmen Sie deshalb keine alte Auftrags-URL oder einen alten Zeitplan ungeprüft in die neue Installation. Prüfen Sie zunächst, ob eine entsprechende Aufgabe bereits vorhanden ist. Ein alter und ein neuer Eintrag müssen auch bei ähnlichem Namen nicht dieselben Parameter und Ausführungswege haben.
Aufgabenoptionen prüfen
Wählen Sie die gewünschte Aufgabe über den Auswahlknopf. Bei einer Aufgabe mit Parametern erscheint Aufgabenoptionen festlegen. Öffnen Sie den Dialog und prüfen Sie alle angebotenen Werte. Aufgabe ausführen startet den Vorgang; das Öffnen der Optionen allein führt ihn noch nicht aus.
Wenn Sie Inhalt neu indizieren ausführen möchten, wählen Sie in den Aufgabenoptionen ausdrücklich zwischen Seiten, Dateien, Benutzern und Express-Datenobjekten. Die Optionen Index löschen und Index neu erstellen sind zusätzliche Eingriffe. Ihre Unterschiede erläutert Cache und Suchindex verwalten.
Für den ersten echten Lauf ist ein überschaubarer, abgestimmter Umfang sinnvoll. Lassen Sie das Browserfenster geöffnet und beobachten Sie die Ausführung. Manche Aufgaben werden unmittelbar erledigt, andere bestehen aus mehreren Arbeitsschritten oder werden an eine Warteschlange übergeben. Ein gestarteter Prozess ist deshalb noch kein bestätigter Abschluss.
Kontrollieren Sie nachher auch das fachliche Ergebnis: Ist die Sitemap-Datei aktualisiert? Liefert die Suche den erwarteten Inhalt? Hat die Erweiterung den vorgesehenen Datensatz gespeichert? Die passende Ergebnisprüfung hängt von der Aufgabe ab.
Ergebnis und Fehler prüfen
Unter Automatisierung → Aktivität finden Sie den Verlauf der Prozesse und gegebenenfalls noch laufende Vorgänge. Öffnen Sie vorhandene Details und vergleichen Sie Start, Abschluss und Rückmeldungen mit dem beabsichtigten Lauf.
Abbildung 3: Die Aktivität zeigt Status und Verlauf ausgeführter Aufgaben.
Wenn ein Prozess nicht fertig wird, starten Sie nicht sofort mehrere weitere Läufe derselben Aufgabe. Prüfen Sie zuerst die Warteschlangenverarbeitung und mögliche Fehler. Unter Fehlerhafte Nachrichten können fehlgeschlagene Nachrichten der Warteschlange erscheinen. Ob eine Wiederholung sinnvoll ist, hängt vom Fehler und von der betreffenden Aufgabe ab.
Prozesse löschen ist keine allgemeine Neustart-Funktion. Der zugehörige Core-Dialog betrifft auch Warteschlangen, Stapelverarbeitung und den Verlauf. Klären Sie den Bestand, bevor Sie solche Einträge entfernen. Für die Fehlersuche sind vorhandene Informationen oft gerade noch nötig.
Warteschlangen und Protokollierung einordnen
Öffnen Sie Automatisierung → Automationseinstellungen. Die drei Bereiche Warteschlangen-Überwachung, Protokollierung und Zeitplanung erfüllen unterschiedliche Aufgaben.
Abbildung 4: Die Automationseinstellungen zeigen die Zeitplanung und die Warteschlangenüberwachung getrennt.
Bei Warteschlangen-Überwachung → Automatisch verarbeitet die Anwendung ausgelöste Warteschlangenaktionen. Die Oberfläche weist darauf hin, dass ein Verlassen der Seite laufende Arbeit unterbrechen kann. Für verlässliche Hintergrundverarbeitung kann die Administration Manuell mit einem dauerhaft betreuten Worker einrichten.
Ein Worker ist ein laufender Serverprozess, der Nachrichten aus einer Warteschlange abarbeitet. Die Core-Oberfläche nennt dafür messenger:consume async. Nur die Auswahl Manuell zu speichern startet diesen Prozess noch nicht. Hosting-Verantwortliche müssen Start, Berechtigungen, PHP-Version und Wiederanlauf des Workers sicherstellen.
Unter Protokollierung kann die Ausgabe von Aufgabenprozessen in Dateien geschrieben werden. Das Zielverzeichnis muss existieren, beschreibbar sein und außerhalb öffentlich erreichbarer Dateien liegen. Task-Ausgaben können technische Details oder verarbeitete Werte enthalten. Stimmen Sie deshalb auch Zugriff und Aufbewahrung der Protokolle ab.
Wiederkehrende Ausführungen einrichten
Ein Zeitplan legt fest, wann eine Aufgabe fällig ist. Er ersetzt weder den Scheduler auf dem Server noch einen gegebenenfalls nötigen Warteschlangen-Worker.
Stimmen Sie zuerst mit dem Hosting ab, wie der Scheduler gestartet wird. Unter Automationseinstellungen → Zeitplanung aktiviert Aktiviert – Aufgaben beim Ausführen planen. die zugehörigen Bedienmöglichkeiten. Die Oberfläche nennt zusätzlich einen Scheduler-Aufruf, der jede Minute ausgeführt werden muss.
Ein Beispiel für eine serverseitige Crontab ist:
* * * * * /pfad/zur/php-cli /pfad/zur/website/concrete/bin/concrete concrete:scheduler:run
Die beiden Pfade sind Platzhalter. Verwenden Sie die passende PHP-Kommandozeile des Hostings und den vollständigen Pfad zur konkreten Installation. Ein funktionierendes PHP im Webbrowser belegt noch nicht, dass die Kommandozeile dieselbe Version und dieselben Erweiterungen nutzt.
Wenn die Zeitplanung aktiviert ist, wählen Sie unter Aufgaben die gewünschte Aufgabe und die wiederkehrende Ausführung. Legen Sie den Cron-Ausdruck und die fachlich passenden Optionen fest. Unter Planen kontrollieren Sie anschließend den gespeicherten Eintrag. Ist die Zeitplanung ausgeschaltet, zeigt diese Seite stattdessen einen entsprechenden Hinweis.
Ein Ausdruck wie 0 3 * * * bedeutet täglich um 03:00 Uhr. Der Core-Scheduler berücksichtigt die konfigurierte Server-Zeitzone. Prüfen Sie diese mit dem Hosting, damit ein gewünschter lokaler Zeitpunkt tatsächlich passt. Führen Sie denselben Lauf nicht versehentlich sowohl über einen direkten Cron-Aufruf als auch über einen zusätzlich gespeicherten Aufgabenzeitplan aus.
Zeitplanung testen
Warten Sie auf einen fälligen Zeitpunkt und prüfen Sie anschließend:
- Ist der Scheduler-Aufruf auf dem Server gelaufen?
- Wurde die richtige Aufgabe mit den vorgesehenen Parametern gestartet?
- Ist der Prozess abgeschlossen oder in der Warteschlange hängen geblieben?
- Entspricht das fachliche Ergebnis der Erwartung?
- Kommt ein Fehler bei der verantwortlichen Person an?
Eine angezeigte nächste Ausführung oder ein erfolgreicher Cron-Start allein beantwortet diese Fragen nicht vollständig. Auch bei einem Kommandozeilenlauf müssen Meldungen und Ergebnis kontrolliert werden. Der Core kann einen abgefangenen Task-Fehler protokollieren, obwohl der aufrufende Befehl regulär beendet wurde.
Weiterlesen
- Cache und Suchindex verwalten
- Website sichern und wiederherstellen
- Sicherheit und Protokolle verwalten
Quelle: Concrete CMS Dokumentation (EN) · Stand: ConcreteCMS 9.5.7