Ich erstelle einen Cron-Job, der außerhalb von WordPress ausgeführt wird. Aus Entwicklungssicht macht es das Debuggen und Erstellen von Bereinigungsskripten oder Cron-Jobs wirklich einfach, indem Sie einfach einen Befehl wie den folgenden in der Befehlszeile ausführen:
php myfile.php
Mein Problem ist, dass WordPress irgendwie die gesamte Ausgabe verzögert ... normalerweise wird die Ausgabe auf Ihrem Bildschirm in Echtzeit generiert, wenn Sie PHP-Dateien wie diese ausführen.
Weiß jemand, wie man verhindert, dass WP die gesamte Ausgabe bis zum Ende des Jobs verzögert? Es ist wahrscheinlich ein einfacher Parameter, den ich beim Ausführen der PHP-Datei vermisse, oder eine Konstante, aber ich bin mir nicht sicher.
Im folgenden Code erwarten Sie eine Verzögerung von 1 Sekunde zwischen den einzelnen Ausgaben. Stattdessen werden derzeit alle Informationen am Ende auf einmal gedruckt:
set_time_limit( 0 );
ini_set( "memory_limit", "64M" );
ob_start();
require_once( dirname( __FILE__ ) . '/wp-load.php' ); // you need to adjust this to your path
ob_end_clean();
global $wpdb;
$q = $wpdb->prepare ("SELECT * FROM wp_posts LIMIT 5");
$results = $wpdb->get_results ($q);
echo "found " . count ($results) . "\n";
foreach ($results as $post)
{
echo $post->post_title . "\n";
sleep(1);
}
echo "\n\ndone";