Привет, у меня есть URL-адрес, который импортирует данные из csv в базу данных на wordpress. Я хочу, чтобы это запускалось каждые 2 минуты. Я пробовал плагин для этого планировщика заданий cron, но это не сработало. Как я могу написать функцию сценария действия, чтобы сделать это возможным. Пожалуйста, помогите

1
Melvin 15 Дек 2016 в 13:37

1 ответ

Лучший ответ

Вы можете сделать следующее
Для начала нужно добавить в расписание интервал 2 м.

add_filter('cron_schedules', 'my_schedules');

function my_schedules($schedules)
{
    $schedules['once_every_2m'] = array('interval' => 120, 'display' => 'Once every 2 minutes');
    return $schedules;
}

Затем вы добавляете свою работу, используя вновь созданный интервал.

if (!wp_next_scheduled('name_of_your_job'))
{
    wp_schedule_event(1481799444, 'once_every_2m', 'name_of_your_job');
}
add_action('name_of_your_job', 'function_that_should_be_executed');

function function_that_should_be_executed()
{
    //do what you need to do
}

Кроме того, имейте в виду, что из-за того, как работает WP cron, время может быть точным. Документы

3
Igor Yavych 15 Дек 2016 в 13:57
1
Вы можете делать все, что вам нужно, в функции function_that_should_be_executed
 – 
Igor Yavych
15 Дек 2016 в 14:10
Не могли бы вы дать мне пример кода? Я пуст
 – 
Melvin
15 Дек 2016 в 14:11
1
Я уже дал вам полный код. Я не могу и не буду писать функцию целиком, потому что понятия не имею, что вы хотите делать каждые 2 минуты. Вы должны уметь делать то, что вам нужно, внутри функции.
 – 
Igor Yavych
15 Дек 2016 в 14:31
2
Так что тебе мешает? Напишите код для этого в function_that_should_be_executed, и все будет хорошо
 – 
Igor Yavych
15 Дек 2016 в 14:33
1
Это очень хорошая возможность учиться, не так ли? Этот ресурс предназначен для того, чтобы помочь вам учиться, а не для того, чтобы просить кого-то делать вашу работу за вас.
 – 
Igor Yavych
15 Дек 2016 в 14:43