---
title: "Geplante Aktionen in WooCommerce überwachen: Action Scheduler richtig nutzen"
date: 2026-09-30T23:01:18+02:00
modified: 2026-11-10T08:39:43+01:00
category: wordpress
type: how_to
author: Marcel Schönfelder
canonical: https://s-edv.com/anleitungen/wordpress-woocommerce-geplante-aktionen-action-scheduler-ueberwachen
keywords:
  - WordPress
  - WooCommerce
  - Action Scheduler
  - WP-CLI
  - Cronjob
reading_time: 9
---

# Geplante Aktionen in WooCommerce überwachen: Action Scheduler richtig nutzen

WooCommerce erledigt viele Aufgaben nicht sofort, sondern stellt sie in eine Warteschlange: Datenbank-Updates, das Nachberechnen von Statistiken, Webhooks an Warenwirtschaft oder Newsletter-Dienst und bei Abonnements sogar die Abbuchung wiederkehrender Zahlungen. Diese Warteschlange heißt Action Scheduler, im deutschen Backend „Geplante Aktionen“. Läuft sie nicht, merken Sie das oft erst Tage später, wenn Statistiken fehlen oder ein Abo nicht verlängert wurde. Diese Anleitung zeigt, wo Sie die Warteschlange finden, woran Sie Probleme erkennen, wie Sie fehlgeschlagene Aktionen auswerten und wie Sie die Verarbeitung zuverlässiger machen.

**Kurzfassung:** Die Übersicht finden Sie unter **WooCommerce > Status > Geplante Aktionen** oder **Werkzeuge > Geplante Aktionen**. Achten Sie auf die Reiter „Fehlgeschlagen“ und „Überfällig“. Per WP-CLI zeigt `wp action-scheduler status` die Anzahl je Status, `wp action-scheduler action logs ID` den Grund für einen Fehler. Viele überfällige Aktionen, die älter als einen Tag sind, deuten laut Dokumentation auf ein Problem hin, meist auf ein nicht ausgelöstes WP-Cron. Abhilfe schafft ein echter Cronjob, bei großen Warteschlangen `wp action-scheduler run`.

## Voraussetzungen

- [ ] WordPress mit aktivem WooCommerce. Getestet mit WordPress 7.1.2, WooCommerce 11.1.2 und dem darin enthaltenen Action Scheduler. Im Test läuft das Update auf WordPress 7.1.3 und WooCommerce 11.2.1 ohne Fehler: WordPress braucht kein Datenbank-Update, WooCommerce führt seine Datenbank-Updates per `wp wc update` aus. Die vorher angelegte Bestellung bleibt im Test erhalten. `wp action-scheduler status` und `data-store` antworten danach im Test wie beschrieben (Action Scheduler 4.1.0).
- [ ] Die Rolle Administrator im Backend, denn die Übersicht erfordert das Recht, Optionen zu verwalten.
- [ ] Für die Befehle SSH-Zugang und WP-CLI auf dem Server.
- [ ] Für das Einrichten eines Cronjobs Zugriff auf die Crontab oder die Cronjob-Verwaltung Ihres Hosters.
- [ ] Ein aktuelles Backup der Datenbank, bevor Sie Aktionen manuell ausführen, abbrechen oder löschen.

## Schritt 1: Die Übersicht der geplanten Aktionen öffnen

Laut Dokumentation von Action Scheduler erreichen Sie die Übersicht an zwei Stellen: unter **Werkzeuge > Geplante Aktionen** und bei aktivem WooCommerce zusätzlich unter **WooCommerce > Status > Geplante Aktionen**. Beide zeigen dieselbe Liste. Oben filtern Sie nach Status: „Ausstehend“, „In Bearbeitung“, „Abgeschlossen“, „Fehlgeschlagen“, „Abgebrochen“ und, falls vorhanden, „Überfällig“.

Jede Zeile zeigt den Hook, also den internen Namen der Aufgabe, dazu Status, Argumente, Gruppe, Termin und das Protokoll. Am Hook erkennen Sie meist, welches Plugin die Aktion angelegt hat. Einträge mit `woocommerce_` stammen von WooCommerce, andere Präfixe von Erweiterungen wie Abo-, Versand- oder Marketing-Plugins. Über das Suchfeld finden Sie Aktionen nach Hook, Argumenten oder Abholungs-ID.

> **Prüfen:** Die Liste öffnet sich und zeigt mindestens abgeschlossene und ausstehende Aktionen. Ein leerer Shop hat nur wenige Einträge, ein aktiver Shop oft Hunderte.

## Schritt 2: Status per WP-CLI erfassen

Für eine schnelle Kontrolle oder ein Überwachungsskript ist die Kommandozeile praktischer. WooCommerce bringt die Befehle von Action Scheduler mit:

```bash
wp action-scheduler status
wp action-scheduler action list --status=failed --fields=id,hook,group,scheduled_date
wp action-scheduler action list --status=pending --format=count
```

Der erste Befehl zeigt Datenspeicher, Version und je Status die Anzahl samt ältestem und neuestem Termin. Im Test sah das nach einem absichtlich fehlgeschlagenen Testauftrag so aus:

```plaintext
status    count  oldest                      newest
complete  2      2026-09-30 20:56:48 +0000   2026-09-30 20:55:57 +0000
pending   5      2026-09-30 18:56:28 +0000   2026-10-01 03:00:00 +0000
failed    1      2026-09-30 20:56:48 +0000   2026-09-30 20:56:48 +0000
```

Wichtig ist die Spalte `oldest` in der Zeile `pending`. Liegt dieser Termin weit in der Vergangenheit, arbeitet die Warteschlange nicht ab. Die Zeiten sind in UTC angegeben, in Deutschland also im Sommer zwei Stunden früher als die Ortszeit. Wie Sie WP-CLI einrichten, zeigt die Anleitung [WP-CLI installieren und die wichtigsten Befehle nutzen](https://s-edv.com/anleitungen/wordpress-wp-cli-installieren-wichtigste-befehle-admins).

> **Prüfen:** `wp action-scheduler status` gibt eine Tabelle aus. Der älteste ausstehende Termin liegt höchstens wenige Minuten in der Vergangenheit.

## Schritt 3: Überfällige Aktionen richtig einordnen

Eine Aktion ist überfällig, wenn ihr Termin verstrichen ist und sie noch aussteht. Die FAQ von Action Scheduler stellt klar, dass einige überfällige Aktionen normal sind, weil WP-Cron nur bei Seitenaufrufen startet. Mehrere überfällige Aktionen, die älter als einen Tag sind, deuten dagegen auf ein Problem hin. Genau ab dieser Schwelle blendet Action Scheduler im Backend einen Hinweis ein, im Quellcode als Standardwert von einem Tag und mindestens einer Aktion hinterlegt. Die deutsche Meldung lautet sinngemäß, dass überfällige Aktionen gefunden wurden und möglicherweise ein Problem vorliegt.

Die häufigsten Ursachen sind:

- WP-Cron ist mit `define( 'DISABLE_WP_CRON', true );` abgeschaltet, aber kein Ersatz-Cronjob eingerichtet.
- Die Website hat kaum Besucher, WP-Cron wird selten ausgelöst.
- Der Server kann sich selbst nicht erreichen, etwa wegen Passwortschutz, Firewall oder falscher DNS-Einträge. WP-Cron startet seine Aufgaben über einen Aufruf der eigenen Adresse.
- Eine einzelne Aktion läuft so lange, dass sie am Zeitlimit von PHP scheitert und die Warteschlange blockiert.

Wie Sie WP-Cron selbst prüfen, beschreibt die Anleitung [WordPress-Cronjobs überwachen und WP-Cron-Fehler beheben](https://s-edv.com/anleitungen/wordpress-cronjobs-ueberwachen-wp-cron-fehler-beheben). Mit `wp cron event list --hook=action_scheduler_run_queue` sehen Sie, ob der Auslöser für Action Scheduler eingeplant ist. Im Test lief er im Minutentakt.

> **Prüfen:** Der Reiter „Überfällig“ fehlt oder enthält nur Aktionen, deren Termin wenige Minuten zurückliegt.

## Schritt 4: Fehlgeschlagene Aktionen auswerten

Eine fehlgeschlagene Aktion hat beim Ausführen einen Fehler gemeldet. Der Grund steht im Protokoll der Aktion. Im Backend klappen Sie dafür die Spalte „Protokoll“ auf, per WP-CLI rufen Sie es über die ID ab:

```bash
wp action-scheduler action logs 8
```

Im Test hatten wir eine Aktion angelegt, die absichtlich eine Ausnahme wirft. Das Protokoll zeigte den genauen Ablauf:

```plaintext
date                        message
2026-09-30 20:56:30 +0000   action created
2026-09-30 20:56:48 +0000   action started via WP CLI
2026-09-30 20:56:48 +0000   action failed via WP CLI: Testfehler: API nicht erreichbar
```

Eine zweite typische Meldung entsteht, wenn das Plugin, das die Aktion angelegt hat, deaktiviert oder gelöscht wurde: `Scheduled action for firma_alt will not be executed as no callbacks are registered.` Solche verwaisten Aktionen können Sie abbrechen. Bei allen anderen Fehlern entscheidet der Inhalt der Meldung. Zeitüberschreitungen bei externen Diensten lösen sich oft von selbst, dann führen Sie die Aktion erneut aus. Wiederholt sich derselbe Fehler, wenden Sie sich mit dem Protokolleintrag an den Hersteller des Plugins.

> **Prüfen:** Für jede fehlgeschlagene Aktion kennen Sie die Ursache und wissen, zu welchem Plugin sie gehört.

## Schritt 5: Aktionen gezielt ausführen oder abbrechen

Sichern Sie vorher die Datenbank mit `wp db export`. Manche Aktionen verändern Bestellungen oder lösen Zahlungen aus, ein erneuter Start ist dann nicht folgenlos. Prüfen Sie bei Abo- und Zahlungs-Plugins immer zuerst, ob die Aufgabe nicht schon auf anderem Weg erledigt wurde.

```bash
wp action-scheduler action run 8
wp action-scheduler run --hooks=HOOKNAME
wp action-scheduler action cancel firma_alt --all
```

Der erste Befehl startet eine einzelne Aktion über ihre ID. Der zweite arbeitet alle fälligen Aktionen eines Hooks ab, den Namen ersetzen Sie durch den Hook aus der Übersicht. `--hooks` akzeptiert mehrere Hooks, durch Komma getrennt ohne Leerzeichen. Der dritte bricht alle ausstehenden Aktionen eines Hooks ab, im Test bestätigt mit `Success: Anfrage zum Abbrechen geplanter Aktionen abgeschlossen.` Im Backend führen Sie eine ausstehende Aktion über den Link **Ausführen** unter dem Hook aus.

Eine Beobachtung aus dem Test: Die Option `--group` scheiterte zunächst mit `The group "firma" does not exist.`, obwohl Aktionen dieser Gruppe vorhanden waren. Die Installation befand sich noch in der Übergangsphase zum neuen Datenspeicher (`ActionScheduler_HybridStore`). Nach `wp action-scheduler migrate` meldete `wp action-scheduler data-store` den Wert `ActionScheduler_DBStore`, und die Gruppenfilter funktionierten. Die Übergangsphase schließt Action Scheduler normalerweise selbst im Hintergrund ab.

> **Prüfen:** Die ausgeführte Aktion steht danach auf „Abgeschlossen“ oder mit neuer Fehlermeldung auf „Fehlgeschlagen“. Abgebrochene Aktionen erscheinen im Reiter „Abgebrochen“.

## Schritt 6: Verarbeitung zuverlässig machen

Der verlässlichste Weg ist ein echter Cronjob auf dem Server, der WP-Cron regelmäßig anstößt. Die Anleitung [WP-Cron durch echten System-Cron ersetzen](https://s-edv.com/anleitungen/wordpress-wp-cron-echte-cronjobs-einrichten) zeigt die Einrichtung. Bei großen Warteschlangen empfiehlt die Dokumentation von Action Scheduler ausdrücklich WP-CLI, weil dort die Zeitlimits normaler Seitenaufrufe nicht greifen. Ein zusätzlicher Eintrag in der Crontab des Dateieigentümers kann so aussehen:

```bash
*/5 * * * * /usr/local/bin/wp --path=/var/www/html action-scheduler run --batch-size=50 --batches=4 --quiet
```

`--batch-size` legt fest, wie viele Aktionen je Durchgang laufen, Standard ist 100. `--batches` begrenzt die Zahl der Durchgänge, damit ein Lauf nicht in den nächsten hineinreicht. Passen Sie die Werte an Ihren Server an.

Auch das Aufräumen übernimmt Action Scheduler selbst. Laut Quellcode löscht der mitgelieferte Queue Cleaner abgeschlossene und abgebrochene Aktionen nach 31 Tagen. Fehlgeschlagene Aktionen bleiben erhalten, bis Sie sie selbst entfernen. Wächst die Tabelle trotzdem stark, räumen Sie gezielt auf:

```bash
wp action-scheduler clean --status=failed --before='90 days ago'
```

Überwachung heißt hier: regelmäßig hinsehen. Ein Blick pro Woche auf „Fehlgeschlagen“ und „Überfällig“ genügt meist, er darf aber nicht einschlafen. Wer solche Kontrollen zusammen mit Updates und Backups abgeben möchte, kann das tun: Die [WordPress-Wartung von wordpressupdate.de](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=artikel&utm_campaign=130) spielt Updates von WordPress, Plugins und Themes mit Kompatibilitätsprüfung ein und sichert die Website wöchentlich auf externen Speicher.

> **Prüfen:** Nach einem Tag zeigt `wp action-scheduler status` keine ausstehenden Aktionen mit altem Termin, und im Backend erscheint kein Hinweis auf überfällige Aktionen.

## Typische Fehler

| Meldung oder Symptom | Ursache | Lösung |
| --- | --- | --- |
| Hinweis auf überfällige Aktionen im Backend | WP-Cron läuft nicht oder zu selten | Echten Cronjob einrichten, `DISABLE_WP_CRON` prüfen |
| `will not be executed as no callbacks are registered` | Zugehöriges Plugin deaktiviert oder gelöscht | Plugin wieder aktivieren oder Aktionen mit `action cancel HOOK --all` abbrechen |
| `The group "…" does not exist.` | Migration auf den neuen Datenspeicher nicht abgeschlossen | `wp action-scheduler data-store` prüfen, bei Bedarf `wp action-scheduler migrate` |
| Viele Aktionen „In Bearbeitung“, die nie fertig werden | Prozess am PHP-Zeitlimit oder Speicherlimit abgebrochen | Fehlerprotokoll des Servers prüfen, Aktionen per WP-CLI abarbeiten |
| Tabelle `wp_actionscheduler_actions` sehr groß | Viele fehlgeschlagene Aktionen, die nicht automatisch gelöscht werden | Ursache beheben, dann `wp action-scheduler clean --status=failed` |

## Häufige Fragen

### Kann ich fehlgeschlagene Aktionen einfach löschen?

Erst wenn Sie wissen, was sie tun sollten. Eine fehlgeschlagene Abo-Verlängerung bedeutet, dass eine Zahlung nicht eingezogen wurde. Löschen beseitigt nur den Eintrag, nicht das Problem. Werten Sie das Protokoll aus, beheben Sie die Ursache und räumen Sie danach auf.

### Gibt es Action Scheduler auch ohne WooCommerce?

Ja. Action Scheduler ist eine Bibliothek, die auch andere Plugins mitbringen, etwa für Formulare, Newsletter oder Backups. Dann finden Sie die Übersicht unter **Werkzeuge > Geplante Aktionen**. Laut FAQ lädt WordPress nur die neueste der vorhandenen Kopien. Welche das ist, zeigt `wp action-scheduler version`.

### Ersetzt Action Scheduler WP-Cron?

Nein. Laut FAQ arbeitet Action Scheduler standardmäßig zusammen mit WP-Cron und wird von dort angestoßen. Ein zuverlässiges WP-Cron ist deshalb die Grundlage für eine funktionierende Warteschlange.

### Wie viele ausstehende Aktionen sind normal?

Das hängt vom Shop ab. Entscheidend ist nicht die Zahl, sondern ob der älteste Termin aktuell bleibt. Eine lange Liste mit Terminen in der Zukunft ist unbedenklich, zehn Aktionen mit Termin von letzter Woche nicht.

## Fazit

Die geplanten Aktionen sind der Maschinenraum eines WooCommerce-Shops. Ein regelmäßiger Blick auf „Fehlgeschlagen“ und „Überfällig“, ein echter Cronjob und das Protokoll als erste Anlaufstelle bei Fehlern reichen, um Probleme früh zu erkennen. Wenn Sie diese Kontrollen samt Updates und Backups nicht selbst übernehmen möchten, hilft die [WordPress-Wartung](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=fazit&utm_campaign=130) von Marcel Schönfelder.

## Weiterführende Anleitungen und Quellen

- [WordPress-Cronjobs überwachen und WP-Cron-Fehler beheben](https://s-edv.com/anleitungen/wordpress-cronjobs-ueberwachen-wp-cron-fehler-beheben)
- [WP-Cron durch echten System-Cron ersetzen](https://s-edv.com/anleitungen/wordpress-wp-cron-echte-cronjobs-einrichten)
- [WooCommerce-Updates sicher einspielen](https://s-edv.com/anleitungen/wordpress-woocommerce-updates-sicher-einspielen-datenbank-vorlagen)
- [Action Scheduler: Scheduled Actions Administration Screen](https://actionscheduler.org/admin/)
- [Action Scheduler: WP CLI](https://actionscheduler.org/wp-cli/)
- [Action Scheduler: FAQ](https://actionscheduler.org/faq/)
