我已經爲Magento設置了每兩小時運行的cronjob,這是我的主機可以設置的最快速度。然而,通訊不會被髮送,直到我真的進入我的主機的控制面板,並點擊特定cronjob的'運行'按鈕。Magento cron作業只在明確運行時發送通訊
我做錯了什麼?我的cron路徑設置爲:/bin/sh /usr/www/users/FTP_USER/cron.sh
我已經爲Magento設置了每兩小時運行的cronjob,這是我的主機可以設置的最快速度。然而,通訊不會被髮送,直到我真的進入我的主機的控制面板,並點擊特定cronjob的'運行'按鈕。Magento cron作業只在明確運行時發送通訊
我做錯了什麼?我的cron路徑設置爲:/bin/sh /usr/www/users/FTP_USER/cron.sh
我想這很可能是一種形式或其他形式的權限/ PATH問題。當您通過點擊控制面板中的某些內容來手動觸發事件時,它可能會以Apache用戶身份運行(www-data或同等版本,具體取決於平臺)。 cron很可能會以不同的用戶身份運行。
假設您指的是核心新版本cron Mage_Newsletter_Model_Observer::scheduledSend
,那麼cwd
對於相對包含路徑是不正確的。這使得最可能的罪魁禍首成爲a)。cron用戶沒有cron.sh的執行權限,b。)cron用戶無權訪問服務器上的郵件應用程序,因爲它不包含在用戶PATH。
以我的經驗cron.sh腳本還沒有達到它。因此我只運行cron.php。這需要php cli正確安裝足夠的RAM和明智的超時。
在crontab嘗試:
* * * * * /usr/bin/php /home/USER/public_html/cron.php >> /home/USER/public_html/var/log/cron.log 2>&1
我還留着一個日誌文件中無功/日誌/ cron.php,這樣我可以看到一個cron作業中的錯誤。
這是因爲事件觀察者是根據上下文加載的(adminhtml,前端或者你的情況crontab)。通訊發送觀察員不在crontab列表中,因此無法發送電子郵件。
看到這篇文章:http://www.aschroder.com/2010/01/magento-events-explained-and-a-few-gotchas-avoided/
這個問題爲您的託管服務提供商 – Serjio
難道你不覺得我已經問過他們嗎?他們告訴我的是,cron被執行了,並且它在Magento的一邊沒有執行任何東西。 –