Saya membuat pekerjaan cron yang berjalan di luar WordPress. Dari perspektif pengembangan, ini membuatnya sangat mudah untuk debug dan membuat skrip pembersihan atau pekerjaan cron, dengan hanya menjalankan perintah seperti berikut pada baris perintah:
php myfile.php
Masalah saya adalah WordPress entah bagaimana menunda semua output ... biasanya ketika Anda menjalankan file php seperti ini output dihasilkan di layar Anda secara real time.
Apakah ada yang tahu bagaimana mencegah WP dari menunda semua output sampai akhir pekerjaan? Mungkin beberapa parameter sederhana yang saya lewatkan saat menjalankan file PHP, atau semacam konstanta, tapi saya tidak yakin.
Dalam kode berikut, Anda akan mengharapkan penundaan 1 detik antara setiap keluaran, sebagai gantinya, saya saat ini mendapatkan semua informasi yang dicetak di akhir, sekaligus:
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";