Unsplash+
Cron 是伺服器一個計畫作業任務的技術,但 WordPress 有自己的內置 cron 功能,可使其執行計劃的任務,例如:檢查更新、發布計劃的文章、備份等。WordPress 正常情況下,它是一個在指定時間運行的腳本,每個小時或者每天一次、每週一次運行 Cron 作業計畫。
但 WordPress 自己的內置 wp-cron 功能有其缺點:
- 需要流量來觸發 cron 計畫任務。
- 網路流量大時,造成主機的高負載。
所以,一般我都會建議使用者將 WordPress cron 功能關閉,另外用伺服器的 Cron 來執行,可以參考我之前寫的文章。
使用 RunCloud 來管理你的 VPS 主機時,使用 Cron Job 非常容易,直接在 RunCloud 控制台創建一個腳本來執行。
禁用 wp-cron
先將 WordPress 的 wp-cron 關閉它,而用主機的定時計畫 crontab 來取代。
修改 wp-config.php 文件,在 define( ‘DB_COLLATE’, ” ); 下方增加一條代碼:
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
新增加
/** Disable wp-cron.php **/
define('DISABLE_WP_CRON', true);
創建一個 Cron 任務
在 RunCloud 控制台中,選取你管理主機,再點擊 Cron Job 的選項,Create 一個新的計畫任務,如下圖:
正確填入所需的資料:
- Job Name:計畫任務的名稱
- User:執行作業的用戶的用戶名 (預設值 runcloud)
- Vendor Binary:選擇你運行的 PHP 版本
- Command:實際要運行的命令 / 腳本
- Predefined Settings:要執行計畫的作業時間配置
以執行 WordPress wp-cron 腳本為例,請輸入正確的文件位置,如下:
/home/runcloud/webapps/example-com/wp-cron.php
要執行計畫的作業時間配置,可以 10 分鐘一次,或一小時一次也可以,但這實際上取決於腳本的實際作用,你也可以自訂時間。
自訂時間可以使用 Crontab Guru 之類的工具來定義運行腳本的頻率。
最後,點擊 Add Cron Job 計畫任務創建完成。
發佈留言