¿Cómo puedo depurar problemas con WordPress Cron? Creo que se activará cuando los usuarios vayan a su sitio, pero no se les mostrarán los errores, ya que los trabajos se ejecutan "de forma asíncrona". Entonces, ¿cómo puedo depurar errores?
¿Cómo puedo depurar problemas con WordPress Cron? Creo que se activará cuando los usuarios vayan a su sitio, pero no se les mostrarán los errores, ya que los trabajos se ejecutan "de forma asíncrona". Entonces, ¿cómo puedo depurar errores?
Puede ejecutar WP cron manualmente llamando a: http://example.com/wp-cron.php?doing_wp_cron
Si no quieres que el cron automático se ejecute mientras estás depurando, agrega esto a tu archivo /wp-config.php
:
define('DISABLE_WP_CRON', true);
Si estás en un entorno de desarrollo y deseas generar información de depuración, al hacerlo de forma manual, se mostrará tu salida de depuración.
Alternativamente, puede usar la función error_log de PHP para registrar las cadenas de mensajes del error registro para la depuración. Necesitaría usar esto junto con WP_DEBUG settings , como lo menciona Rarst.
Puede usar el complemento Cron-View . Allí puede ver si su trabajo está a) registrado y b) cuál es el próximo plazo de entrega.
Además, puede agregar un cronograma más bajo a su evento (por ejemplo, cada 2 minutos) y probar su método con más frecuencia en un sistema local. Use el gancho de filtro 'cron_schedules' para registrar nuevos horarios de programación. Por ejemplo:
function my_additional_schedules($schedules) {
// interval in seconds
$schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes');
return $schedules;
}
add_filter('cron_schedules', 'my_additional_schedules');
Puede (y probablemente debería, en cualquier caso, cron o no) configurar el registro de errores de PHP captura todos los errores.
Puedes depurar manualmente, creando una acción y ejecutando la acción Cron en su interior. Así:
add_action( 'init', function() {
if ( ! isset( $_GET['the_cron_test'] ) ) {
return;
}
error_reporting( 1 );
do_action( 'this_is_cron_event_hook' );
die();
} );
Y visitando la dirección de su sitio web: http://example.com?the_cron_test
Esto debería mostrar cualquier error con la tarea cron.
Pero no tiene ningún sentido hacerlo manualmente. Puede usar el complemento Advanced Cron Manager PRO que hace esto por usted y también guarda el registro otras estadísticas.
Lea otras preguntas en las etiquetas cron