Essa é uma pergunta estúpida ...
Programei uma ação para ser executada a cada hora:
if(!wp_next_scheduled('my_hourly_events'))
wp_schedule_event(time(), 'hourly', 'my_hourly_events');
add_action('my_hourly_events', 'the_function_to_run');
function the_function_to_run(){
echo 'it works!';
}
Como posso testar se isso funciona sem esperar uma hora? :)
Tentei adicionar wp_clear_scheduled_hook('my_hourly_events');
antes deste código e wp_cron()
depois, mas não vejo minha função em execução ...
editar:
ok, eu adicionei um trigger_error()
dentro da minha função, verifiquei o log de erros do apache e está lá :)
Então agora estou ainda mais confuso:
Como o wp-cron pode ser executado em segundo plano? porque, aparentemente, é o que acontece se não houver saída ...
isso não parece funcionar em um contexto de objeto; porque?
wp_remote_post()
. que explica tudo ...array( &$this, 'my_method_name' )
? Isso de fato não funcionará porque o nome da função é armazenado no banco de dados para ser executado posteriormente.&$this
refere-se a um objeto específico, não a um nome de classe, e esse objeto não existirá na próxima solicitação quando o trabalho cron for executado. Uma função de classe estática deve funcionar.Respostas:
Meu plug-in favorito é o Core Control, que possui um módulo muito bom para exibir o que está acontecendo no cron - quais eventos são configurados, quando serão os próximos disparos etc.
Ao sujar as mãos, consulte
_get_cron_array()
, que retorna dados armazenados internos para eventos cron (o nível superior das chaves é o registro de data e hora).fonte