Dokumentation · Anhänge
Cron-Hook-Referenz
Dieser Anhang listet jeden WP-Cron-Hook und jedes benutzerdefinierte Intervall auf, das vom ADP Car Market Hub-Plugin registriert wird.
Wann Sie dieses Dokument verwenden sollten
Verwenden Sie diese Referenz, wenn Sie verpasste geplante Aufgaben diagnostizieren, die Integration mit den Cron-Befehlen von WP-CLI durchführen oder einen externen System-Cron planen möchten. Die vollständige ausführliche Erklärung finden Sie unter Cron-Events und Scheduler und Cron-Hooks für Entwickler.
Übersicht
Das Plugin verwendet WP-Cron für alle seine periodischen Hintergrundarbeiten. WP-Cron ist anfragegesteuert: Events werden beim nächsten Seitenaufruf am oder nach dem geplanten Zeitpunkt ausgelöst. Planen Sie auf einer Website mit geringem Traffic einen serverseitigen Cron-Job, um wp-cron.php oder den REST-Endpunkt cron-import des Plugins aufzurufen.
Benutzerdefinierte Intervalle
| Intervall-Schlüssel | Länge | Registriert in | Verwendet von |
|---|---|---|---|
as24ci_every_5_minutes | 300 s (5 Min.) | Haupt-Plugin-Datei adp-car-market-hub.php. Immer registriert. | KI-Generierungswarteschlange. |
as24ci_every_6_hours | 6 Std. | AS24CI\Scheduler::add_cron_intervals(). | Importer, wenn „Alle 6 Stunden“ ausgewählt ist. |
as24ci_custom | N Minuten | AS24CI\Scheduler::add_cron_intervals(). N ist as24ci_cron_custom_minutes, begrenzt auf ein Minimum von 15 Minuten. | Importer, wenn „Benutzerdefiniert“ ausgewählt ist. |
Standardmäßige WordPress-Intervalle (hourly, twicedaily, daily) werden vom Importzeitplan ebenfalls akzeptiert.
Wiederkehrende Cron-Hooks
as24ci_scheduled_import
- Inhaber:
AS24CI\Scheduler(Scheduler::CRON_HOOK). - Zeitplan: Gesteuert durch
as24ci_cron_schedule(hourly,as24ci_every_6_hours,twicedaily,dailyoderas24ci_custom). Fürdaily/twicedailystammt die Startzeit ausas24ci_cron_start_time(HH:MM, WordPress Zeitzone der Website). - Aktiv wenn:
as24ci_auto_import_enabledist'1'. Wird durchScheduler::reschedule()aktualisiert, sobald die Automatisierungseinstellungen gespeichert werden. - Callback:
Scheduler::run_scheduled_import()→Scheduler::run_import('wp-cron'). - Sperre (Lock):
as24ci_cron_import_runningTransient (~40 Minuten TTL). Veraltete Sperren, die älter als die TTL sind, werden automatisch gelöscht. - Hinweise: Wird mit dem manuellen Admin-Button „Jetzt ausführen“ und dem REST-Cron-Endpunkt geteilt. Alle drei Pfade verwenden denselben
Scheduler::run_import()-Runner und beachten dieselbe Sperre.
as24ci_image_queue_process
- Inhaber:
AS24CI\Scheduler(Scheduler::IMAGE_QUEUE_HOOK). - Zeitplan: Einzelne Events. Der Importer plant den Worker, wenn er Bilder in die Warteschlange stellt, anstatt sie inline herunterzuladen; der Worker plant sich selbst mit
wp_schedule_single_event()neu, solange sich Elemente in der Warteschlange befinden. - Callback:
Scheduler::run_image_queue(). - Sperre (Lock):
as24ci_image_queue_runningTransient (~10 Minuten TTL). - Batch-Größe:
Scheduler::IMAGE_QUEUE_BATCH_SIZE(30 Bilder pro Batch im aktuellen Quellcode — vor der Veröffentlichung überprüfen, falls Sie einen exakten Wert benötigen). - Hinweise: Die Warteschlange selbst wird in der Option
as24ci_image_queuegespeichert. Statistiken pro Batch werden inas24ci_image_queue_last_runfür das Dashboard-Widget und den Tab „System & Hilfe“ geschrieben.
as24ci_process_ai_queue
- Inhaber:
AS24CI\Ai_Assistant(Ai_Assistant::AI_QUEUE_HOOK); der Cron-Action-Callback wird durchAS24CI\Schedulergebunden, selbst wenn die KI-Funktion deaktiviert ist, sodass WP-Cron immer einen Callback für den Hook hat. - Zeitplan: Benutzerdefiniertes Intervall
as24ci_every_5_minutes(300 Sekunden). Die Planung wird durchAi_Assistant::maybe_schedule_ai_queue()gesteuert, was alle Voraussetzungen erzwingt (KI-Funktion aktiviert, verwaltetes Gemini konfiguriert, Automatisierung aktiv). - Callback:
Ai_Assistant::process_ai_queue(). - Hinweise: Wenn die KI-Automatisierung deaktiviert oder nicht konfiguriert ist, wird der Hook nicht geplant, aber sein Callback bleibt gebunden, sodass manuelle Auslösungen über den Admin-Bereich weiterhin funktionieren.
as24ci_daily_cleanup
- Inhaber:
AS24CI\Analytics(Analytics::ANALYTICS_CLEANUP_CRON_HOOK). - Zeitplan:
daily. Wird bei der Aktivierung durchAS24CI\Plugingeplant, falls noch nicht geschehen; wird bei der Deaktivierung gelöscht. - Callback:
Analytics::cleanup_old_data(). - Verhalten: Entfernt Analytics-Zeilen, die älter als
as24ci_analytics_retention_dayssind, aus der Tabelle{$wpdb->prefix}as24ci_analytics.
as24ci_pricing_analysis_cron
- Inhaber:
AS24CI\Pricing_Engine(Pricing_Engine::CRON_HOOK). - Zeitplan:
daily. Geplant überPricing_Engine::schedule(); gelöscht überPricing_Engine::clear_schedule()bei Deaktivierung. - Callback:
Pricing_Engine::run_daily_analysis().
as24ci_automated_taxonomy_scan
- Inhaber:
AS24CI\Data_Quality_Scanner(Data_Quality_Scanner::CRON_HOOK). - Zeitplan:
dailyodertwicedaily, gesteuert durchas24ci_dq_scan_frequency. Die Startzeit für den ersten Durchlauf wird vonas24ci_dq_scan_timeabgeleitet (HH:MM in der WordPress Zeitzone der Website). Der Zeitplan wird neu erstellt, sobald die zugehörigen Optionen gespeichert werden. - Aktiv wenn:
as24ci_dq_scan_enabledist'1'. - Callback:
Data_Quality_Scanner::run_scan().
as24ci_license_refresh
- Inhaber:
AS24CI\License_Manager(License_Manager::REFRESH_CRON_HOOK). - Zeitplan:
daily. Der erste Durchlauf wird eine Stunde nach der Erstellung des Events geplant. Wird verzögert (lazy) vonLicense_Manager::ensure_cron_scheduled()beiadmin_initund bei der Plugin-Aktivierung geplant; gelöscht überLicense_Manager::clear_cron()bei Deaktivierung. - Callback:
License_Manager::scheduled_refresh()— führt eine Hintergrund-Revalidierung der Lizenz gegenüber der API-Plattform durch. - Hinweise: Der Cron-Callback ist immer gebunden; nur die Planung erfolgt verzögert, sodass bei normalen Frontend-Anfragen keine Planungsarbeiten ausgeführt werden.
as24ci_webhook_retry
- Inhaber: Webhooks-Subsystem.
- Zeitplan: Einzelne Events. Wird nach einem Webhook-Versuch geplant, um einen nachfolgenden blockierenden Neuversand durchzuführen, sowie für begrenzte exponentielle Wiederholungsversuche bei vorübergehenden Fehlern (~60 s, ~2 Min., ~4 Min., insgesamt bis zu drei Versuche).
- Hinweise: Überprüfen Sie die genauen Intervalle und die Anzahl der Versuche im aktuellen Quellcode, bevor Sie diese in der Kundendokumentation veröffentlichen.
as24ci_competitor_watcher_cron (nur Legacy-Bereinigung)
Dieser Hook gehörte zu einer entfernten Funktion „Competitor Watcher“ und ist keine aktive Funktion des Plugins. Der Hook-Name wird nur beibehalten, damit Competitor_Watcher::clear_schedule() bei der Deaktivierung des Plugins eventuell verbliebene geplante Events aus älteren Installationen löschen kann. Es gibt dafür keine Planung, keine AJAX-Aktion und keine Admin-Benutzeroberfläche. Verlassen Sie sich in externem Code nicht auf diesen Hook.
Importe außerhalb von WP-Cron auslösen
Es gibt zwei offiziell unterstützte Wege, um einen Import außerhalb von WP-Cron auszulösen, die beide an denselben Scheduler::run_import()-Runner delegieren und dieselbe Sperre beachten:
- REST-Cron-Endpunkt —
GET /wp-json/as24ci/v1/cron-importmit Token-Authentifizierung. Siehe REST-Endpunkt-Referenz. - Manuelle Admin-Auslösung — die Schaltfläche „Jetzt ausführen“ auf dem Admin-Tab „Import & Limits“. Die zugrunde liegende AJAX-Aktion ist
as24ci_trigger_import_now.
Das Plugin zeichnet außerdem einen Heartbeat-Zeitstempel in as24ci_last_external_cron_run auf, wann immer eine URL auf der Website mit dem Abfrageparameter ?as24ci_cron=1 aufgerufen wird. Dieser Heartbeat dient nur der Überwachung; er startet keinen Import.
Betriebliche Hinweise
- WP-Cron-Events können auf einer Website mit geringem Traffic verspätet sein oder ganz ausbleiben. Für ein vorhersehbares Verhalten konfigurieren Sie einen serverseitigen Cron-Job und deaktivieren Sie WP-Cron in
wp-config.php(define( 'DISABLE_WP_CRON', true );). - Wenn Sie ein Funktionsmodul im Admin-Bereich deaktivieren, werden die zugehörigen Cron-Events aus dem Zeitplan entfernt. Sie werden beim nächsten Aktivieren der Funktion neu geplant, wenn deren
register_hooks()während des Plugin-Bootstraps ausgeführt wird. - Der Bild-Warteschlangen-Worker verwendet einzelne Events anstelle eines wiederkehrenden Zeitplans. Er plant sich nur selbst neu, wenn sich noch Elemente in der Warteschlange befinden.
- Alle oben genannten Hook-Namen und Konstanten spiegeln den aktuellen Plugin-Code wider. Überprüfen Sie diese mit der von Ihnen anvisierten Version, bevor Sie Erweiterungscode veröffentlichen, der diese Hooks überwacht.
Fehlerbehebung
as24ci_scheduled_importsteht in der Cron-Liste, wird aber nie ausgeführt. WP-Cron ist anfragegesteuert. Besuchen Sie entweder die Website, führen Siewp cron event run --due-nowüber WP-CLI aus oder konfigurieren Sie einen externen Trigger.- Import-Durchläufe melden „Import bereits aktiv“. Die Sperre
as24ci_cron_import_runningwird von einem anderen Runner gehalten. Das Plugin löscht veraltete Sperren automatisch, sobald sie die TTL überschreiten; andernfalls wird das Transient durch Deaktivieren und erneutes Aktivieren des Plugins gelöscht. - Bild-Warteschlange stoppt. Überprüfen Sie die Option
as24ci_image_queue_last_run(processed,failed,remaining). Wenn noch Elemente vorhanden sind, aber kein Event geplant ist, führen Sie im Admin-Bereich „Bild-Warteschlange jetzt verarbeiten“ aus, um den Worker neu zu starten. - KI-Warteschlange rückt nicht vor. Stellen Sie sicher, dass die KI-Funktion aktiviert ist, die verwaltete Gemini-Konfiguration bereitgestellt ist (
Ai_Config::is_configured()) und die Automatisierung eingeschaltet ist; andernfalls bleibt die Planung deaktiviert. - Datenqualitäts-Scan läuft zur falschen Zeit. Speichern Sie die relevanten Optionen, um eine Neuplanung auszulösen, und überprüfen Sie die WordPress Zeitzone der Website unter Einstellungen → Allgemein.