WordPress cron не запланирован на веб-сервисы Amazon

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

register_activation_hook(__FILE__, 'my_activation'); add_action('my_hourly_event', 'do_this_hourly'); function my_activation() { wp_schedule_event(time(), 'hourly', 'my_hourly_event'); } function do_this_hourly() { another_function(); } register_deactivation_hook(__FILE__, 'my_deactivation'); function my_deactivation() { wp_clear_scheduled_hook('my_hourly_event'); } 

что-то не так с этим, или что-то еще в игре?

У меня есть общий тайник w3, установленный как локально, так и на aws, поэтому я не думаю, что это было бы виновато, поскольку я слышал, как люди это упоминают.

Благодарю.

Solutions Collecting From Web of "WordPress cron не запланирован на веб-сервисы Amazon"

Вы можете использовать эти шаги, чтобы заставить его работать: « 1. Настроить расписание

 function my_schedule( $schedules ) { $schedules['hourly'] = array( 'interval' => 60 * 60, 'display' => __( 'One houre' ) ); return $schedules; } add_filter( 'cron_schedules', 'my_schedule' ); 

2. Зарегистрируйте крючок активации

 register_activation_hook( __FILE__, 'my_activation' ); function my_activation() { $timestamp = wp_next_scheduled( 'my_hourly_event' ); if( false == $timestamp ){ wp_schedule_event( time(), 'hourly', 'my_hourly_event' ); } } 

3. Добавьте действие к событию

 function do_this_hourly() { // The cron functionality and rest of your code here } add_action( 'my_hourly_event', 'do_this_hourly' ); 

Как общий принцип, вы не должны делать ничего, что требует «add_action» после крючка активации плагина. Это связано с тем, что WP загружает и запускает все плагины, а THEN запускает новый добавленный, а затем перенаправляет. Вы должны установить опцию DB и подключиться к ней. Вот обсуждение с CODEX: https://codex.wordpress.org/Function_Reference/register_activation_hook

Попробуйте сделать это за пределами активационного крючка и посмотрите, что произойдет. Другими словами, PHP работает через всю процедуру WordPress в каждом запросе браузера. Когда вы активируете плагин, вы фактически запускаете два запроса страницы на сервер. Этот вид активности должным образом входит в запрос второй страницы, который является перенаправлением.