优化wordpress wp-cron计划任务,解决execution timed out问题。

查看原文:http://www.sijitao.net/1985.html
根据前面一篇文章“Linux VPS服务器内存不够用的情况”中所述内容修改后,mysql就没有出现定时重启的情况,php进程也没有无故被kill了。不过现在在执行wp-super-cache预缓存任务的时候有时候仍然会提示失败,查看php日志后发现wp-cron进程因为超时被终止。

日志内容类似如下:

php-fpm.log

首先我们看看wp-cron.php是什么?和linux中的cron意思差不多,用于执行wordpress的一些计划任务,比如检查wordpress、主题和插件的更新,定时发布文章,执行插件的一些定时任务等。不过和linux的cron不一样的是wp-cron的触发需要用户点击访问。比如wordpress计划2:00开始任务,但是知道3:00你的博客才有人访问,那么2:00的这个任务就会在3:00才会执行。对于高访问量的网站来说,这个影响可能会比较大。

了解了wp-cron.php的作用后,接下来就需要解决他的超时问题。为了安全考虑,我不推荐修改php-fpm.conf中的request_terminate_timeout参数。如果你把这个只设置成永远不会超时,那么某个php程序可能因为问题永远不会自己结束。

最后,我决定先把wp-cron.php关闭,然后用linux自带的crontab实现。

1、关闭wp_cron功能

在wp-config.php中添加如下代码

define('DISABLE_WP_CRON', true);

2、配置crontab

*/5 * * * * cd /home/wwwroot/www.sijitao.net;/usr/bin/php -q wp-cron.php

这里一定要先进入网站的根目录,然后执行,因为执行时wp-cron.php加载根目录下的文件。

上面这个php执行的时候以PHP-CLI方式运行,这个模式没有超时限制。

配置好后,我再次查看php日志,暂时没有发现超时信息。当然如果为了优化wordpress,你也可以考虑把wp自带的cron关闭。

参考连接:

http://www.sijitao.net/1979.html

https://rtcamp.com/tutorials/wordpress/wp-cron-crontab/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值