我在Magento中安裝的其中一個擴展程序安排了一個cron,其表達式爲0 0 4 1/1 * ? *
。從我收集的意思來看,它應該每天凌晨4點運行。Magento無效的cron表達式
當Magento cron運行時,我得到一個錯誤報告:Invalid cron expression: 0 0 4 1/1 * ? *
。我一直無法找到有關Magento cron的有效格式的任何信息。他們應該只有5個領域?
我在Magento中安裝的其中一個擴展程序安排了一個cron,其表達式爲0 0 4 1/1 * ? *
。從我收集的意思來看,它應該每天凌晨4點運行。Magento無效的cron表達式
當Magento cron運行時,我得到一個錯誤報告:Invalid cron expression: 0 0 4 1/1 * ? *
。我一直無法找到有關Magento cron的有效格式的任何信息。他們應該只有5個領域?
默認情況下,Magento使用SimpleTrigger格式(帶5個字段的格式),但您的cron格式爲CronTrigger格式。
我不是cron的專家,但我認爲你的cron會設定一個每天安排在凌晨4點運行(檢查出here);剛剛嘗試再整它在SimpleTrigger format具體做法是:在Magento 1
0 4 * * *
cron表達式可以有五六列(字段)。列分隔符是空格。
如果有少於五或六年多列,你會得到一個Mage_Cron_Exception與消息「無效的cron表達式:<表達>」,其中<表達>被替換爲逐字正在分析的配置選項的字符串值。這是您的問題中的確切異常消息。
如果基本空白解析成列的權數失敗或沒有給予這個最普通的Mage_Cron_Exception消息,如果任何列不能被解析爲以下任何的cron表達式:
*
- ALL匹配...,...
- 多個選項...\...
(逗號分隔必須再次驗證中的每一個) - 模量(兩個元素,第二個必須是數字)...-...
- 數字數據的範圍(從 - 到),月份和星期幾名稱的三個字母的英文縮寫翻譯成它們的數字對應(月份中使用「mon」將導致1(1月),「sun」月份爲0(未定義但無效)等)。如果任何這些(或在的多個選項,任何的子選項的情況下)導致一些解析問題,Mage_Cron_Exception與消息「無效cron表達式」後綴有像的附加信息:
「 '從 - 到' 結構期待:<表達>」
「期望 '匹配/模量':<表達>」
「期望數字模量:<表達>」
...等等
Cron表達解析在Mage_Cron_Model_Schedule::getCronExprArr()
和Mage_Cron_Model_Schedule::matchCronExpression()
完成。
0 0 4 1/1 * ? *
在你的情況下,cron表達式具有字段的正確數量(SIX),但值「?
」你第五列未造成的通用消息在Magento的cron表達式解析(因爲它是未被識別爲任何字段值格式)。
該格式是CRON expression (as given per Wikipedia)的子集。第六個字段(年份)可以設置,但從未考慮。
有趣,但*「SimpleTrigger格式」* *在哪裏記錄?您在答案中給出的參考僅顯示Java代碼的API示例,而不是cron表達式的格式描述。 – hakre