Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Cronjobs

Für CMS-Entwickler die geplanten Arbeiten, von denen eine Exponential-Website abhängt. Die Seite behandelt Teile und Skripte, was die Standardteile tun, die Planung mit der Crontab, das Ausführen von Teilen in der Shell…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/cms-developers/cronjobs.md

On this page

This page is a translation. Read the English original

Cronjobs

Diese Seite richtet sich an Entwickler, die wissen müssen, was im Hintergrund einer Website läuft und wie sie eigene geplante Arbeiten hinzufügen. Mehrere Funktionen werden nur über Cronjobs abgeschlossen: Freigegebene Inhalte werden veröffentlicht, verzögert indexierte Inhalte indexiert, Benachrichtigungen versendet, datierte Inhalte verborgen. Eine Website ohne ihre Crontab sieht gut aus und hört still und leise auf, diese Dinge zu tun.

Inhalt

  1. Teile und Skripte
  2. Was die mitgelieferten Teile tun
  3. Teile ausführen
  4. Planung
  5. Die Seite Cronjobs
  6. Ein eigener Cronjob
  7. Prüfungen vor dem Live-Gang

Teile und Skripte

Ein Skript ist eine PHP-Datei in einem Cronjob-Verzeichnis (cronjobs/ der Installation oder einer Erweiterung, die in [CronjobSettings] ExtensionDirectories[] genannt ist). Ein Teil ist eine Gruppe von Skripten, die zusammen nach einem Zeitplan laufen, in cronjob.ini als [CronjobPart-<name>] Scripts[] deklariert. Die Skripte aus [CronjobSettings] Scripts[] bilden den Standardteil, angezeigt als global (Cronjobs, Abschnitt 1).

Was die mitgelieferten Teile tun

TeilSkripte, darunterWarum es wichtig ist
global (Standard)unpublish.php, rssimport.php, indexcontent.php, hide.php, internal_drafts_cleanup.phpdatiertes Entfernen und Verbergen, RSS-Import, verzögertes Indexieren für die Suche
frequentnotification.php, workflow.php, contentjobs.php, audit.php, mailbounces.phpBenachrichtigungen, wartende Workflows (Freigaben), Inhaltsjobs im Hintergrund
infrequentbasket_cleanup.php, linkcheck.php, mailpreferences.phpWarenkörbe des Shops, Prüfen von Links, Aufbewahrung der E-Mail-Einstellungen
die anderen TeileLogs, Cache-Bereinigung, unlock, cleanuprss und mehrPflege

settings/cronjob.ini enthält die vollständige Liste (infrequent, frequent, contentcheck, contentjobs, audit, logs, notification, mailpreferences, mailbounces, unlock, cluster_maintenance, cleanuprss, cache_cleanup), und Erweiterungen fügen eigene Teile hinzu, etwa für Sitemaps oder Newsletter. So listen Sie auf, was Ihre Installation hat:

php runcronjobs.php --list --allow-root-user

Teile ausführen

php runcronjobs.php -s <siteaccess> frequent --allow-root-user        # one part
php runcronjobs.php -s <siteaccess> --allow-root-user                 # the default part
php runcronjobs.php -s <siteaccess> --script=workflow.php --allow-root-user   # one script
./console list cron                                                    # every part as a console command, cron:<part>

Führen Sie sie als der Benutzer aus, unter dem der Webserver läuft, damit Dateien, die die Cronjobs schreiben, für die Website lesbar bleiben. Jedes Skript nimmt eine eigene Sperre, sodass ein zweiter Lauf desselben Skripts wartet oder übersprungen wird (Cronjobs in der Shell ausführen).

Planung

Fügen Sie je Teil eine Crontab-Zeile hinzu, vom Hauptverzeichnis der Installation aus:

*/5 * * * *  cd /var/www/example && php runcronjobs.php -s site frequent >/dev/null 2>&1
*/15 * * * * cd /var/www/example && php runcronjobs.php -s site >/dev/null 2>&1
17 * * * *   cd /var/www/example && php runcronjobs.php -s site infrequent >/dev/null 2>&1

Das sind die Standardzeitpläne, die die Seite Cronjobs vorschlägt; legen Sie je Teil eigene mit cronjob.ini [AdminSettings] CrontabSchedule_<part> fest (Planung mit der Crontab). Hosting-Panels haben eigene Cron-Bildschirme (Cron und Shell-Zugang).

Die Seite Cronjobs

Die Administration listet jeden Teil und jedes Skript, zeigt, ob die Crontab es einplant, führt einen Teil oder ein Skript mit Live-Ausgabe aus, bewahrt die letzten Läufe auf, zählt Probleme und schlägt Crontab-Zeilen vor. Verwenden Sie sie, um ein neues Skript auszuprobieren, bevor Sie es einplanen, und um herauszufinden, warum über Nacht etwas nicht geschehen ist (Cronjobs, Cronjob-Konsole).

Ein eigener Cronjob

  1. Schreiben Sie das Skript in extension/exp_mysite/cronjobs/exp_feed_sync.php, mit einem @description-Tag in seinem Doc-Kommentar (Konsole und Seite zeigen ihn an).

  2. Deklarieren Sie das Verzeichnis und einen Teil in extension/exp_mysite/settings/cronjob.ini.append.php:

    <?php /* #?ini charset="utf-8"?
    
    [CronjobSettings]
    ExtensionDirectories[]=exp_mysite
    
    [CronjobPart-exp_mysite]
    Scripts[]=exp_feed_sync.php
    */ ?>
  3. Leeren Sie den INI-Cache, führen Sie den Teil von Hand aus (php runcronjobs.php -s <siteaccess> exp_mysite) und planen Sie ihn dann ein.

Ruhiger Modus, Protokollierung und die Stoppschalter stehen unter Cronjob-Teile und im Tutorial Ein Cronjob-Teil von Hand. Lange Arbeit gehört in einen Cronjob oder einen Inhaltsjob, nicht in eine Seitenanfrage.

Prüfungen vor dem Live-Gang

  • To do: Der Teil frequent und der Standardteil sind für jeden öffentlichen Siteaccess eingeplant, der sie braucht.
  • To do: Workflows mit Freigaben, verzögertes Indexieren und Benachrichtigungen wurden bei laufendem Cron von Anfang bis Ende getestet.
  • To do: Cron läuft als Benutzer des Webservers, und seine Ausgabe wird protokolliert oder an jemanden gemailt, der sie liest.
  • To do: Ihre eigenen Teile sind eingeplant und im Projekt dokumentiert.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x