Как сделать так, чтобы работа wp cron не срабатывала немедленно?


Я планирую работу в wp cron:

add_action('my_cron_hook', 'my_cron_action');
wp_schedule_event( time(), 'interval1', 'my_cron_hook' ); 

function my_cron_action(){
    //do something
}

Переменная interval1 устанавливается администратором в другой части кода.
Кроме того, есть переключатель, который позволяет администратору включить или отключить задание обрезки wp.

Моя проблема заключается в следующем:
my_cron_action выполняется, как только оно запланировано
(это означает, как только администратор включит задание cron из серверной части).

Что я хочу сделать, так это:
если мы предположим, что время, когда администратор включил задание, составляет T,
я хочу, чтобы задание было запущено в T+интервал1 в первый раз, а не в T.

Следующее, что я хочу после того, как это будет сделано, - создать кнопку "Выполнить задание сейчас", которая запустит задание, как только оно будет нажато.

Author: dimitris, 2013-04-14

1 answers

Как описано в wp_schedule_event первый параметр $timestamp - первый раз, когда вы хотите, чтобы событие произошло. Так что просто добавьте интервал к отметке времени $. Я думаю, что это должно быть похоже на

wp_schedule_event( time() + $delay, 'interval1', 'my_cron_hook' ); 

И установите $delay как миллисекунды до начала подключения.

 4
Author: Aleksey Razbakov, 2013-04-14 09:21:35