保护 wp cron.php,wp-cron.php任务的定时执行和控制
wp-cron.php主要用來實現(xiàn)wordpress的一些定時任務(wù),如定時發(fā)布文章,定時備份數(shù)據(jù),定時響應(yīng)頁面緩存等操作。wp-cron是wordpress內(nèi)置模塊,該模塊的特點:它只能在用戶發(fā)起請求時檢查定時任務(wù)。也就是說,沒有用戶訪問時,那定時任務(wù)就得不到執(zhí)行;有用戶訪問時,某個用戶會因為定時任務(wù)在執(zhí)行而響應(yīng)很慢甚至超時。所以,wp-cron在生產(chǎn)環(huán)境下會造成服務(wù)器壓力。
控制wp-cron進(jìn)程的一種更好的做法是開啟一個獨立的進(jìn)程執(zhí)行這些定時任務(wù),比如說使用crontab + wp-cli實現(xiàn)這種做法。
一、禁用wp-cron:修改wp-config.php
define('DISABLE_WP_CRON', true);
二、通過crontab定期執(zhí)行任務(wù)
* * * * * cd /var/www/html && /usr/local/bin/wp cron event run --due-now > /dev/null
例如:*/10 * * * * curl https://www.yoursite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
設(shè)置每隔10分鐘觸發(fā)一次執(zhí)行,你可以根據(jù)自己的需求進(jìn)行調(diào)整。> /dev/null 2>&1是不輸出任何log日志文件,可以降低服務(wù)器硬盤占用。
如果你使用的是虛擬主機(jī),那么可以使用第三方提供的監(jiān)控服務(wù)來控制wp-cron的定時執(zhí)行。
例如監(jiān)控網(wǎng)址:
https://www.yoursite.com/wp-cron.php?doing_wp_cron
注意:許多緩存插件都會為自身性能而去添加一些Wp cron定時任務(wù),當(dāng)我們卸載插件后這些定時任務(wù)并不會被完整移除,這就造成了WP cron定時任務(wù)的無用功,運行一些沒有實際意義的定時任務(wù),所以插件卸載后需要檢查是否清除了options任務(wù)。
總結(jié)
以上是生活随笔為你收集整理的保护 wp cron.php,wp-cron.php任务的定时执行和控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c语言编写聊天室mysql_
- 下一篇: 电脑端跳转手机版的php代码,帝国CMS