十二月 18, 2015 | 伺服器和Devops
Drupal 運用Crontab 來trigger Elysia Cron
drupal常常會在背後執行cron,執行cron卻常常造成系統的loading,如果可以讓cron在某個特定時間執行,或是每特定時間執行,想必會有能改善吧?來看看如何用Elysia Cron將不同的cron執行時間拆分開來解決這個問題
前言
其實drupal在背後常常會在執行cron,可是執行cron的時候常常會造成系統的loading,這個時候如果我們可以讓cron在某個特定時間執行,或是每特定時間執行,想必會有一定的改善,所以用Elysia Cron我們就可以將不同的cron執行時間拆分開來解決這個問題 首先我們先安裝Elysia Cron這個模組之後在設定/系統/cron settings
選擇設定頁籤
CLICK FOR HELP AND CRON RULES AND SCRIPT SYNTAX 可以先看一下設定時間的範例
SINGLE JOB SETTINGS 就是我們設定rules的地方
像我們這邊就設定 ctools_cron每分鐘執行一次之後儲存設定,等阿等怎麼就是不會執行呢 原來是drupal沒辦法幫我們分別執行cron所以必須要靠伺服器來幫我們trigger 這個時候要注意 Run cron on visitor's requests, every要設定Never
接下來就是去設定伺服器了 以ubuntu為例 下指令
像這邊我們就設定每一分鐘 使用curl來觸發執行cron的網址 ">/dev/null 2>&1"這段是來忽略輸出log檔的否則/root資料夾底下會有一堆空的log檔
cron_key在你的報告/狀態報告可看到執行cron的網址
只要設定好之後伺服器就會幫我們每一分鐘去執行cron,elysia cron會在幫我們檢查時間是否到了
以上就是一些簡單的教學