• Hi,
    ich habe eine Frage und zwar hab ich ein Plugin geschrieben um Daten von einer API mit Woocommerce abzugleichen, das funktioniert soweit gut, allerdings dauert der Abgleich immer ein wenig, daher würde ich es gerne im Hintergrund mittels richtigem Cronjob aufrufen (nicht WP Cron wenn der User die Seite lädt) zwecks Performance.
    Wie kann ich das am besten machen?

    Danke
    lg

Ansicht von 1 Antwort (von insgesamt 1)
  • Plugins sollten aus Sicherheitsüberlegungen nicht direkt aufgerufen werden können und der übliche Weg ist, die WordPress-eigenen Cron-Funktionen zu verwenden. Mehr dazu erfährst du im Developer Handbook:

    Plugin Developer Handbook: Cron

    Da WordPress auch auf Shared-Hosting-Webservern mit eingeschränter Funktionalität funktionieren soll (nicht jeder Webhoster bietet die Einrichtung eigener Cron-Jobs an), verwendet WordPress einen Pseudo-Cron: Bei Abruf von Webseiten wird geprüft, ob Tasks angelaufen sind, die zu dieser Zeit bereits abgearbeitet werden sollten. Das hat zwei Nachteile: Der erste Besucher, der nach der gesetzten Zeit die Webseiten aufruft, löst den Vorgang erst aus und sieht selber noch keine Veränderungen und außerdem hängt die Ausführung von regelmäßigen Webseiten-Besuchen ab. Du kannst aber, wenn du Cron-Dienste einrichten kannst (auch von einem anderem Rechner oder kostenlosen Anbietern), den Pseudo-Cron in der wp-config.php mit define('DISABLE_WP_CRON', true); deaktivieren. Der Cron-Job auf deinem Server sollte in etwa so aussehen:
    */15 * * * wget --delete-after https://example.com/wp-cron.php

    (Das würde alle 15 Minuten laufen und du musst natürlich deine eigene Domain eintragen.)

Ansicht von 1 Antwort (von insgesamt 1)
  • Das Thema „Funktion aus eigenem Plugin mittels Cronjob aufrufen“ ist für neue Antworten geschlossen.