LinuxEye

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 2452|回复: 5

wordpress优化定时任务(wp-cron.php)造成主机CPU超标解决办法

[复制链接]
  • TA的每日心情
    开心
    2019-2-18 14:53
  • 签到天数: 71 天

    [LV.6]常住居民II

    98

    主题

    224

    帖子

    2781

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    2781
    发表于 2014-12-26 11:35:22 | 显示全部楼层 |阅读模式
    wordpress的定时任务功能我们还是经常要用到的,例如wordpress的定时备份,定时发布文章等都需要用到wordpress的定时任务功能,而在wordpress中,是靠wp-cron. php来实现这些功能的。但是昨天本人网站就出现 CPU 严重超标的情况,导致被 主机 商停机,好不容易联系上客服,被告知是由于wp-cron.php文件造成的。原来,在使用了wp-super cache缓存插件的时候,后台会有很多wp-cron.php的调用,每一次访问页面都会调用。这样就容易出现cpu超标的情况了。

    WP-Cron的原理是这样的:虽然用户不能通过crond 设置计划任务,但网站随时可能会有用户在点击,只要在用户点击的时候,判断当时是否有需要运行的后台任务,如果则在后台运行该任务,就可以实现类似crond 的效果。虽然这么好用,不过占用这么高的系统资源我就不得不禁用它了。

    禁用WP-Cron很简单,编辑wp-config.php,加入一下一行:
    1. define('DISABLE_WP_CRON', true);
    复制代码
    当然了,如果你的 主机 可以设定crontab,你可以在你后台系统的crontab文件里,增加下面的代码:
    1. */15 * * * * /usr/bin/wget -q --post-data '' http://blog.linuxeye.com/wp-cron.php?doing_wp_cron -O /dev/null
    复制代码

    上面配置指示,每15分钟,调用wget命令访问站点的wp-cron.php文件,post-data参数指示wget用POST方法,而不是GET方法,这样可以避免WP-Super-Cache这样的缓存插件影响后台任务的正确执行,但post-data传输的数据必须是空内容,否则wp-cron.php会拒绝执行。

    或者系统的crontab中添加
    1. 0,30 * * * * /usr/local/php/bin/php -q /home/wwwroot/blog.linuxeye.com/wp-cron.php
    复制代码

    点评

    请看x.co/2288(网址) 肺炎,国内报道真实吗?番习土啬看看海外真实报道...... git.io/g6666 (网址)  发表于 2020-5-30 11:54
    回复

    使用道具 举报

  • TA的每日心情

    2015-6-5 22:52
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    23

    主题

    53

    帖子

    429

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    429
    发表于 2014-12-26 20:50:54 | 显示全部楼层
    不错,这样才科学。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-1-21 02:21
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    17

    主题

    76

    帖子

    589

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    589
    发表于 2015-1-9 23:09:49 | 显示全部楼层
    其实 cron 都没必要放在本机做,可以找个网站监控的工具,设置个监控,然后定好时间,让他们帮你做。
    譬如阿里云就有云监控,用那货就好了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    8

    帖子

    41

    积分

    新手上路

    Rank: 1

    积分
    41
    发表于 2020-5-30 09:26:30 | 显示全部楼层
    我很高兴找到这个博客  repelisplus
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    8

    帖子

    39

    积分

    新手上路

    Rank: 1

    积分
    39
    发表于 2020-6-1 17:25:49 | 显示全部楼层
    上面配置指示,每15分钟彩票,调用wget命令访问站点的wp-cron.php文件,post-data参数指示wget用POST方法,而不是GET方法,福彩双色球这样可以避免WP-Super-Cache这样的缓存插件影响后台任务的正确执行,但post-data传输的数据必须是空内容幸运飞艇,否则wp-cron.php会拒绝执行。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|手机版|Archiver|LinuxEye

    GMT+8, 2020-8-6 05:38 , Processed in 7.350700 second(s), 30 queries , Gzip On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表