Я создаю работу cron, которая работает за пределами WordPress. С точки зрения разработки, это действительно облегчает отладку и создание сценариев очистки или заданий cron, просто выполнив команду, подобную следующей в командной строке:
php myfile.php
Моя проблема заключается в том, что WordPress каким-то образом задерживает весь вывод ... обычно, когда вы запускаете такие файлы php, вывод генерируется на вашем экране в режиме реального времени.
Кто-нибудь знает, как предотвратить задержку WP всех выходных данных до конца задания? Вероятно, это какой-то простой параметр, который я пропускаю при запуске файла PHP, или какая-то константа, но я не уверен.
В следующем коде вы ожидаете задержку в 1 секунду между каждым выводом, вместо этого я в настоящее время получаю всю информацию, напечатанную в конце, сразу:
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";