WordPress因大量定时作业导致访问缓慢的修复方法
升级到 WordPress 4.3 之后,这几天发现系统有点慢,打开定时作业,发现有大量的 hook 名为时间戳的定时作业,经过 debug,发现是 _wp_check_for_scheduled_split_terms 这个函数生成的,他的源代码是:
function _wp_check_for_scheduled_split_terms() {
if ( ! get_option( 'finished_splitting_shared_terms' ) && !
wp_next_scheduled( 'wp_batch_split_terms' ) ) {
wp_schedule_single_event( 'wp_batch_split_terms',
time() + MINUTE_IN_SECONDS );
}
}
这个定时作业的意思是,定期的把 shared terms 分离。wp_schedule_single_event 的第一个参数是 $timestamp, 第二个才是 $hook,这段代码竟然写反了,然后就产生了一大堆定时作业,使得正常的定时作业都无法工作了。
所以要让这个函数不要跑,经过搜索发现:
add_action( 'admin_init', '_wp_check_for_scheduled_split_terms' );
_wp_check_for_scheduled_split_terms 这个函数是 admin_init 调用的,只要 remove_action 就好了。
所以最终的解决方案是:
在当前主题的 functions.php 文件中添加如下代码:
remove_action( 'admin_init', '_wp_check_for_scheduled_split_terms' );
经过优化,速度确实好了很多,推荐使用腾讯云【可以使用我们的9折购买优惠码】使用腾讯云可以获得QQ URL加V哦。关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平拉美之行的三个“一” 7953318
- 2 微信或史诗级“瘦身” 内存有救了 7961576
- 3 男子求助如何打开亡父遗留14年手机 7869585
- 4 中国主张成为G20峰会的一抹亮色 7721227
- 5 中国对日本等国试行免签 7657093
- 6 7万余件儿童羽绒服里没有真羽绒 7579828
- 7 女生半裸遭男保洁刷卡闯入 酒店回应 7406455
- 8 70多辆小米SU7同一天撞墙撞柱 7394315
- 9 操纵股价 2人被证监会罚没近3.35亿 7260621
- 10 千年古镇“因网而变、因数而兴” 7139386