echter Cron .. keine Fehler aber auch keine Ausgabe

  • Hallo,
    ich bin neu, hab mich grade angemeldet, da ich für einen befreundeten WebDesigner ein Plugin geschrieben habe. Also Hi!! ;D

    Dieses Plugin (csv2ngg) soll jetzt noch automatisch jeden Morgen starten. Und zwar nicht erst bei einem UserKlick sondern vollkommen automatisch. Darum starte ich es via /etc/cron.hourly/ (stündlich da die startzeit variable sein soll). Aber es kommt kein Ausgabe und keine Fehler. Auch wenn ich es via dem WP-Plugin "Crontrol" teste kommen keine Fehler, Crontrol sagt; "successfull" aber es hat nichts getan.

    Der Ablauf:

    1)
    /etc/cron.hourly/csv2ngg.cron.sh -> wechselt ins WP-Verzechnis und startet wp-cron.php
    2)
    - wp-cron.php bedient sich der in WP eingestellten Dienste
    - Kontrolle der Dienste via "Crontrol"

    3)
    in Crontrol wurde neuer Dienst eingestellt: "start_csv2ngg_cron" (ohne Argumente)

    4)
    "start_csv2ngg_cron" wurde in plugins/csv2ngg/csv2ngg.php defniert via: add_action('start_csv2ngg_cron', 'start_csv2ngg_to_cron');

    5)
    "start_csv2ngg_to_cron" ist eine Funktion in csv2ngg.php und definiert als function die nicht innerhalb einer Klasse steht. Sie instanziert das Plugin und startet die darin enthaltene AutomaticFunktion.

    PHP
    function start_csv2ngg_to_cron() {
        $c2n_plugin = new CSV2NGGPlugin;
        $c2n_plugin->autostart_plugin;
        }

    6)
    führt man jetzt in der Konole /etc/cron.hourly/csv2ngg.cron.sh aus, sollte der Ablauf des Plugins stattfinden. Dabei werden einige Dateien geschrieben. Aber es tut sich leider nichts, nichtmal eine Fehlermeldung

    Einmal editiert, zuletzt von RobRobson (6. August 2011 um 10:06)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Die verwendete WP Version ist übrigens 3.2.1.

    Und ich hatte:

    PHP
    wp_schedule_event( time(), 'hourly', 'start_csv2ngg_cron' );

    vergessen.

    Einmal editiert, zuletzt von RobRobson (10. August 2011 um 14:17)

  • Ist wohl doch noch nicht ganz gefixed! :/

    Ich habe mich an das Beispiel 2 ("A simple way to schedule an hourly event") in der Doku gehalten:


    Aber beim ausführen des scriptes /etc/cron.hourly/csv2ngg.cron.sh (welches einfach nur via php-cli die Datei wp-cron.php ausführt) kommt es zu einer Endlosschleichfe. Mein Plugin wird dabei solange ausgeführt bis irgendjemand einen Fatal error: (Allowed memory size of 33554432 bytes exhausted (tried to allocate 1000000 bytes)) erzeugt. Das verstehe ich nicht. wp-cron sollte doch die anstehenden Aufträge nur einmal ausführen. :?:

    Ich würde mich über jeden Tipp und jede Idee sehr freuen.

    Danke,
    Rob

  • Hallo,

    ich habe jetzt von einem scheduled hook auf einen single hook umgebaut, weil die cron.php ja sowieso vom echten Server-Cron einmal die Stunde aufgerufen wird.

    aber selbst bei diesem Konstrukt wird die funktion mehrmals aufgerufen. Aber mir viel auf das sie nur sooft ausgeführt wird wie Minuten zwischen der letzten Ausführung gelegen haben. Also, war mein letzter händischer Test auf der Konsole 4min her, wird "$c2n_plugin->autostart_plugin();" 4 mal ausgeführt. Das weißt doch auf auf irgend eine Ungereimtheit im Cron hin. irgendwas das ich falsch ansteuere oder einen logischen Fehler beim eintragen.

    Bin immernoch für jeden noch so kleinen Tipp, wenn nur zum debuggen oder nachlesen, dankbar! :D

    Grüße,
    Rob

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!