Не можете использовать планировщик событий в PHP My Admin, как сделать файл PHP для cron? - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть следующий код для удаления всей активности Buddypress старше 24 часов.

DELETE FROM wp_bp_activity WHERE date_recorded < (NOW() - INTERVAL 24 HOUR)

Но мой хостинг-провайдер не разрешает использовать планировщик событий, поэтому я не могу автоматически c запустить его , Кто-то, кто знает, как я могу запустить его с помощью PHP сценария, а затем запланировать его с помощью cron?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Поскольку вы используете WordPress, вы можете использовать WP-Cron, размещая там где-то свои функции. php должен выполнить работу:

add_action('wp', 'wp4312121_setup_daily_cron');
function wp4312121_setup_daily_cron() {

  if (! wp_next_scheduled ( 'wp4312121_daily_cron_hook' )) {
      $firstRun = time();
       wp_schedule_event($firstRun, 'daily', 'wp4312121_daily_cron_hook');
  }

}
add_action('wp4312121_daily_cron_hook', 'wp4312121_daily_cron');
function wp4312121_daily_cron() {

  global $wpdb;

  $table = $wpdb->prefix . 'bp_activity';
  $wpdb->query( "DELETE FROM `$table` WHERE date_recorded < (NOW() - INTERVAL 24 HOUR)" );


}

Вы можете прочитать больше о WordPress Cron здесь .

0 голосов
/ 17 апреля 2020

Вы можете выполнить задание cron с помощью скрипта mysql, также см. mysql командную строку , чтобы получить дополнительные параметры

mysql -u username -p password -e "DELETE FROM wp_bp_activity WHERE date_recorded < (NOW() - INTERVAL 24 HOUR)"
...