Come eseguire il debug di WordPress "Cron" wp_schedule_event


Risposte:


27

Puoi eseguire WP cron manualmente chiamando: http://example.com/wp-cron.php?doing_wp_cron

Se non vuoi che il cron automatico venga eseguito durante il debug, aggiungi questo al tuo /wp-config.phpfile:

define('DISABLE_WP_CRON', true);

Se ti trovi in ​​un ambiente di sviluppo e desideri generare informazioni di debug, chiamandole manualmente in questo modo ti verrà mostrato l'output di debug.

In alternativa puoi usare la funzione error_log integrata di PHP per registrare le stringhe di messaggi nel log degli errori per il debug. Dovresti usarlo insieme alle impostazioni di WP_DEBUG , come menzionato da Rarst.


Grazie per il suggerimento con il ?doing_cronparametro.
rofflox,

3
Credo che dovrebbe essere ?doing_wp_croninvece di ?doing_cron.
liviucmg,

@liviucmg Sì, hai ragione. Ho fatto il tweak.
Simon East,

1
Il ?doing_wp_cronparametro è richiesto? Vedi il tutorial di configurazione del manuale di EasyCron .
AlecRust,

@gabrielk È richiesto il parametro? doing_cron? cosa significa?
jedi

6

È possibile utilizzare il plug -in Cron-View . Lì puoi vedere se il tuo lavoro è a) registrato eb) qual è la prossima scadenza.

Inoltre, è possibile aggiungere un timer inferiore all'evento (ad es. Ogni 2 minuti) e testare il metodo più frequentemente su un sistema locale. Utilizzare l'hook del filtro "cron_schedules" per registrare nuovi orari. Per esempio:

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');


3

È possibile eseguire il debug manualmente, creando un'azione ed eseguendo l'azione Cron all'interno. Come questo:

add_action( 'init', function() {

    if ( ! isset( $_GET['the_cron_test'] ) ) {
        return;
    }

    error_reporting( 1 );

    do_action( 'this_is_cron_event_hook' );

    die();

} );

E andando all'indirizzo del tuo sito Web: http://example.com?the_cron_test

Questo dovrebbe mostrare eventuali errori con l'attività cron.

Ma è insensato farlo manualmente. È possibile utilizzare il plug-in Advanced Cron Manager PRO che lo fa per te e salva anche il registro e altre statistiche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.