Когда выполняется следующее задание Cron (через некоторое время)?


Мне нужно было бы знать, сколько времени осталось между сейчас и следующим выполнением определенного задания Cron.

Для другого ответа я создал базовый плагин cron inspector, который можно найти здесь.

Причина, по которой я спрашиваю, заключается в том, что я уже настолько устал от работы, что в данный момент не могу ясно мыслить.:/

Заранее благодарю.

Author: Community, 2013-01-26

1 answers

Редактировать: wp_next_scheduled() возвращает метку времени следующего запланированного задания указанного wp-cron пара работа-аргументы.

Пожалуйста, обратите внимание, что это немного отличается по функциональности от приведенного ниже ответа, поскольку вы должны предоставить аргументы, переданные в обратный вызов задания cron (если он есть). В исходном ответе будет указано время следующего указанного задания независимо от аргументов, с которыми оно будет выполняться.


Массив cron (_get_cron_array()) возвращает массив заданий cron, индексированных по метке времени (с каждой меткой времени будет связан массив cron, т. Е. Те задания, которые должны быть запущены).

/**
 * 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;
}
 6
Author: Stephen Harris, 2013-04-14 14:28:07