我在wordpress中创建了一个新插件,它在激活时调度cron。调度部分如下所示:
$crons = _get_cron_array();
//Use wp_next_scheduled to check if the event is already scheduled
$timestamp = wp_next_scheduled('customers-hourly');
if($timestamp == false) {
//Schedule the event for right now, then to repeat daily using the hook 'wi_create_daily_backup'
wp_schedule_event(time(), 'hourly', 'customers-hourly');
}
$crons = _get_cron_array();
add_action('customers-hourly', [$this, 'hourlyCron']);
使用调试器单步执行代码时,在激活代码后,_get_cron_array包含:
$cron = [ // 12 elements
[.. snip other crons ..]
1493335692 => [
'customers-hourly' => [
'schedule' => 'hourly',
'args' => [],
'interval' => 3600,
],
],
'version' => 2,
];
所以我的cron肯定在那里。 当我直接加载cron.php并调用_get_cron_array()时,它会显示19个元素,其中没有一个是每小时客户。
知道造成这种情况的原因是什么?
答案 0 :(得分:1)
我忽略的一个主要细节是我正在使用多站点。 cron是在网站上创建的,而我从其中一个站点运行了cron。 从网络站点运行cron代替了我在管理员中看到的所有crons并修复了问题。
最终结果:键盘和椅子之间存在问题。