Quando é executado o próximo Cron Job (a partir de agora)?

4

Eu precisaria saber quanto tempo resta entre agora e na próxima vez que um Trabalho Cron específico for concluído.

Por outra resposta, eu construí um plug-in do inspetor de cron que pode ser encontrado aqui .

A razão pela qual estou perguntando é que eu já estou perdendo o trabalho e não consigo pensar direito no momento. : /

Obrigado antecipadamente.

    
por kaiser 26.01.2013 / 22:10

1 resposta

5

Editar: wp_next_scheduled() retorna o timestamp do próximo trabalho agendado de um wp especificado -cron par de argumentos de trabalho .

Por favor note que isto difere ligeiramente em funcionalidade da resposta abaixo, em que você tem que fornecer os argumentos passados ao retorno de chamada do trabalho cron (se tiver algum). A resposta original forneceria a hora do próximo trabalho especificado, independentemente dos argumentos com os quais ela fosse executada.

A matriz cron ( _get_cron_array() ) retorna uma matriz de tarefas cron indexadas por timestamp (cada timestamp terá um array crons associados a ele - isto é, os trabalhos que serão acionados).

/**
 * Returns the time in seconds until a specified cron job is scheduled.
 *
 *@param string $cron_name The name of the cron job
 *@return int|bool The time in seconds until the cron job is scheduled. False if
 *it could not be found.
*/
function sh_get_next_cron_time( $cron_name ){

    foreach( _get_cron_array() as $timestamp => $crons ){

        if( in_array( $cron_name, array_keys( $crons ) ) ){
            return $timestamp - time();
        }

    }

    return false;
}
    
por Stephen Harris 26.01.2013 / 23:53