我正在编写一个脚本来添加一个命名的Cron作业,该作业可以更新单个用户,大约每5分钟运行一次。
我的问题是,每隔一秒钟左右,每个用户都会反复运行作业。下面是我在函数中放置的代码。php文件。
这是我第一次使用WordPress尝试WP Cron功能,我想知道我是否正确设置了作业。
function so_custom_cron_schedule( $schedules ) {
$schedules[\'every_5_minutes\'] = array(
\'interval\' => 300,
\'display\' => __( \'Every 5 minutes\' ),
);
return $schedules;
}
add_filter( \'cron_schedules\', \'so_custom_cron_schedule\' );
function update_social_user($user_id){
$user = get_userdata($user_id);
if(!$user){
return;
}
var_error_log(\'running for \'.$user_id);
}
function assign_cron(){
$users = get_users([ \'role__in\' => [ \'administrator\', \'seller\'] ]);
$args = array(false);
foreach($users as $user){
$hook_name = \'update_fb_\'.$user->ID;
add_action($hook_name,\'update_social_user\');
if(!wp_next_scheduled($hook_name,$args)){
wp_schedule_event(time(),\'every_5_minutes\',$hook_name,array($user->ID));
}else{
var_error_log(\'Already set\');
}
}
}
assign_cron();