Wp_Schedule_Event挂钩有什么用?

时间:2014-03-01 作者:rram

我想做一个cron(在特定时间执行功能,如电子邮件、数据库备份等)工作。我在wordpress中搜索到了这个wp_schedule_event 在这里,他们说如果指定的时间过去了,当有人访问wordpress站点时,它将执行作业。

我有一个疑问,只有当有人访问wordpress网站时,它才会这样做。cron作业是否与没有任何框架的普通php站点相同。

如果它只在用户访问站点时运行,那么为什么我不能在init 把自己和时间挂钩,如果条件允许的话,那么我可以实现什么wp_schedule_event 就是没有它。如下所示

function test(){
if($time_condition > 20 && $time_condition < 23){
//do stuff
}
}
add_action(\'init\',\'test\');
作为init 运行加载的wordpress,所以每次用户访问站点时,都会检查并执行此操作。

有人能说出两者的区别吗?哪一个对这种工作有用?

我都看到了

wp_schedule_eventinit 相同,但我们需要在中添加条件init 因为除此之外wp_schedule_event 也仅在有人访问时运行。

1 个回复
SO网友:Rarst

wp cron的目的是生成单独的进程来运行事件。

它并不十分完美,有时生成过程会显著降低页面查看速度,但这比在随机访问者页面加载开始时执行一些繁重的操作要好得多。

结束

相关推荐

WordPress cron作业会减慢页面加载速度吗?

如果用户访问一个站点,并且他的访问触发了一个非常密集的cron作业,那么页面加载速度对他来说会较慢,对吗?据我所知,页面在加载之前不会等待cron作业执行,但由于cron作业将并行运行,因此页面加载可能仍然会变慢,因为服务器很忙,对吗?