Cronjob

Cron-Job-Scheduler-Dienst für webtrees

License: GPL v3 webtrees major version

Ein Cron-Job-Scheduler-Dienst für webtrees: plane Wartungs-/Batch-Jobs mit Standard-Cron-Ausdrücken, beobachte deren Ausführungshistorie in der Admin-UI und trigger sie manuell. Das Modul ist der Dienst; das OS (klassisches Cron oder ein systemd-Timer) muss nur ein kleines Skript einmal pro Minute aufrufen.

  • Job-Registry + Ausführungshistorie in zwei eigenen Tabellen (cj_job, cj_run)
  • Admin-UI (Steuerungspanel): Job-Liste, Create/Edit-Formular, Ausführungshistorie, jetzt ausführen, aktivieren/deaktivieren, löschen
  • Isolierte Ausführung: jeder Job läuft als separater PHP-Kindprozess (proc_open, kein Shell), mit pro-Job-Timeout und erfasster Ausgabe
  • Selbst-Registrierung: andere Module können ihre Jobs anbieten (ein cron-jobs.php -Manifest oder eine getCronJobs()-Methode); sie erscheinen hier, deaktiviert erstellt und bereit zum Aktivieren
  • Ereignisgesteuerte Jobs: Jobs können auf Ereignisse statt auf Zeitpläne reagieren — über einen token-geschützten Webhook, einen direkten EventQueue::push()-Aufruf, die eingebauten Pseudo-Event-Poller oder Route-Events
  • Fehlerbenachrichtigung: pro-Job-Opt-in zur Benachrichtigung der Admin-Konten bei Job-Fehlern
  • Offline-Bewusstsein: während data/offline.txt existiert, wird der Tick vor jedem Datenbankzugriff übersprungen
  • Keine Core-Änderungen, keine Änderungen an anderen Modulen

Cronjob Scheduler

Ursprünglich entwickelt als Support-Modul für LinkEnhancer, um dessen Indizes aktuell zu halten.

Support


Einrichtung

Installation und Voraussetzungen

Verwendung

Jobs erstellen, Ausführungshistorie und Admin-UI

Der Tick

Wie ’tickt’ das Modul

Ereignisse

Ereignisgesteuerte Jobs, Webhooks, Pseudo-Events und Route-Events

Howto

Wie können andere benutzerdefinierte Module dieses Cronjob-Modul nutzen?

CLI-Skripte

Command-Line-Skripte und Wartung

Sicherheit

Sicherheitsmodell und Befehlsvalidierung

Zuletzt geändert 08.11.2026: php doc references (f831d42)