• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress主题使用教程 > 发现WordPress4.3会产生大量定时作业,怎么处理?

    发现WordPress4.3会产生大量定时作业,怎么处理?

    作者: 分类:wordpress主题使用教程 点击: 3,173 次
    wordpress CMS主题:ssmay主题

      网站升级到 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' );

      (转自:水渚鱼)



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201509124832.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.