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, wenn Sie eine Integration mit den Cron-Befehlen von WP-CLI vornehmen oder wenn Sie einen externen System-Cron planen. Die vollständige ausführliche Erklärung finden Sie unter Cron-Ereignisse und Scheduler und Cron-Hooks für Entwickler.
Übersicht
Das Plugin verwendet WP-Cron für alle seine periodischen Hintergrundarbeiten. WP-Cron ist anfragegesteuert: Ereignisse werden beim nächsten Seitenaufruf am oder nach dem geplanten Zeitpunkt ausgelöst. Richten Sie bei einer Website mit wenig Traffic einen serverseitigen Cron ein, 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ässige 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 vonas24ci_cron_start_time(HH:MM, WordPress Website-Zeitzone). - Aktiv wenn:
as24ci_auto_import_enabledist'1'. Wird vonScheduler::reschedule()aktualisiert, wann immer die Automatisierungseinstellungen gespeichert werden. - Callback:
Scheduler::run_scheduled_import()→Scheduler::run_import('wp-cron'). - Sperre:
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 auslösen" 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: Einzelereignisse. 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:
as24ci_image_queue_runningTransient (~10 Minuten TTL). - Batch-Grösse:
Scheduler::IMAGE_QUEUE_BATCH_SIZE(30 Bilder pro Batch im aktuellen Quellcode — überprüfen Sie dies vor der Veröffentlichung, falls Sie einen genauen 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-Aktions-Callback wird durchAS24CI\Schedulergebunden, selbst wenn der KI-Funktionsschalter 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. Geplant durchAS24CI\Pluginbei der Aktivierung, falls nicht bereits geplant; gelöscht bei der Deaktivierung. - 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 der 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 Zeit für den ersten Durchlauf wird vonas24ci_dq_scan_timeabgeleitet (HH:MM in der WordPress Website-Zeitzone). Der Zeitplan wird neu erstellt, wann immer die entsprechenden 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 ist eine Stunde nach der Erstellung des Ereignisses geplant. Wird verzögert (lazy) vonLicense_Manager::ensure_cron_scheduled()beiadmin_initund bei der Plugin-Aktivierung geplant; gelöscht überLicense_Manager::clear_cron()bei der 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: Einzelereignisse. Geplant nach einem Webhook-Versuch, 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 Mitbewerber-Beobachtungsfunktion 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 Ereignisse aus älteren Installationen löschen kann. Es gibt keine Planung, keine AJAX-Aktion und keine Admin-Benutzeroberfläche dafür. Verlassen Sie sich in externem Code nicht auf diesen Hook.
Importe ausserhalb von WP-Cron auslösen
Es gibt zwei offiziell unterstützte Pfade, um einen Import ausserhalb 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 Referenz zu REST-Endpunkten. - Manueller Admin-Trigger — die Schaltfläche "Jetzt auslösen" auf dem Admin-Tab "Import & Limits". Die zugrunde liegende AJAX-Aktion ist
as24ci_trigger_import_now.
Das Plugin zeichnet ausserdem 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-Ereignisse können auf einer Website mit wenig Traffic verspätet sein oder ganz ausfallen. Konfigurieren Sie für ein vorhersehbares Verhalten einen serverseitigen Cron 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-Ereignisse aus dem Zeitplan entfernt. Sie werden neu geplant, wenn die Funktion das nächste Mal wieder aktiviert wird und ihr
register_hooks()während des Plugin-Bootstraps ausgeführt wird. - Der Bildwarteschlangen-Worker verwendet Einzelereignisse anstelle eines wiederkehrenden Zeitplans. Er plant sich selbst nur dann 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 anhand der von Ihnen anvisierten Version, bevor Sie Erweiterungscode veröffentlichen, der diese Hooks überwacht.
Fehlerbehebung
as24ci_scheduled_importbefindet sich 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.- Importläufe melden "Import bereits im Gange". 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. - Bildwarteschlange stoppt. Überprüfen Sie die Option
as24ci_image_queue_last_run(processed,failed,remaining). Wenn Elemente verbleiben, aber kein Ereignis geplant ist, führen Sie im Admin-Bereich "Bildwarteschlange jetzt verarbeiten" aus, um den Worker neu zu starten. - KI-Warteschlange bewegt sich nicht vorwärts. Vergewissern Sie sich, 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 wird zur falschen Zeit ausgeführt. Speichern Sie die relevanten Optionen, um eine Neuplanung auszulösen, und überprüfen Sie die WordPress Website-Zeitzone unter Einstellungen → Allgemein.