2015-04-20 50 views
6

我有Magento的1.9.1的cron的希望有人能幫助大問題。我安裝了AOE,看不到心跳。Magento的1.9.1的Cron未運行

我已經加入我的cron作業

*/5 * * * * /bin/sh /var/sites/p/domain/public_html/cron.sh 

但是,這仍然無法運行,所以我決定嘗試和嘗試,cron.php運行,這什麼也不做。這是我的克朗

*/5 * * * */usr/bin/wget -O /dev/null -o /dev/null http://www.domain.com/cron.php 

基於Magneto 1.8 cron.php我添加了以下內容到cron.php。

$isShellDisabled = true; 

基於這仍然不工作,我嘗試在瀏覽器中的cron.php。出於安全原因,我在瀏覽器中出現錯誤,指出默認情況下禁用了打印。

所以我改變了我的php.ini中memory_limit的= 512M只是櫃面。這仍然不起作用。

我在這個報告得到的錯誤是:

a:5:{i:0;s:59:"Mage registry key "_singleton/cron/observer" already exists";i:1;s:537:"#0 /var/sites/p/domain.co.uk/public_html/app/Mage.php(223): Mage::throwException('Mage registry k...') 
#1 /var/sites/p/domain.co.uk/public_html/app/Mage.php(477): Mage::register('_singleton/cron...', false) 
#2 /var/sites/p/domain.co.uk/public_html/app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton('cron/observer') 
#3 /var/sites/p/domain.co.uk/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('default', Array) 
#4 /var/sites/p/domain.co.uk/public_html/cron.php(74): Mage::dispatchEvent('default') 
#5 {main}";s:3:"url";s:9:"/cron.php";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";} 

任何幫助將是真正偉大的。

注意**我修改了域名DOMAIN由於我的網站是不適合的工作。

+0

當您進入AOE的列表視圖(系統>>計劃程序>>列表視圖)時,您是否看到列出的任何工作?如果沒有,請點擊頂部的「生成計劃」按鈕。你看到現在列出的工作嗎? –

+0

在這裏可能會有一些建議可能有所幫助:http://stackoverflow.com/questions/25177502/magento-cron-job/25183755 – PedroKTFC

+1

cron是否在服務器上運行?當你在magento文件夾的根目錄下啓動php cron.php時發生了什麼? –

回答

13

幾個簡單的步驟來解決Magento的cron的問題:

  1. 進入系統>配置>高級>系統>的Cron(計劃任務),並設置下一個值:

    • 生成時間表每個: 15
    • 提前爲:20
    • 錯過,如果沒有在運行:15
    • 歷史清潔每隔10
    • 成功史壽命:60
    • 失敗履歷壽命:600
  2. 清除高速緩存中的系統>緩存管理

  3. 清除 'cron_schedule' 表。您可以通過phpMyAdmin的做,或在SQL控制檯執行下一個命令:

    TRUNCATE TABLE cron_schedule;

  4. 添加下一行與cron設置(使用絕對路徑):

    */5 * * * */USR/bin中/ PHP的/var/sites/p/domain/public_html/cron.php

  5. 重新啓動cron守護程序。

  6. 檢查表 'cron_schedule',如果它不是空的 - Magento的cron的腳本開始工作。

+0

在哪裏寫「*/5 * * * */usr/bin/php /var/sites/p/domain/public_html/cron.php」 –

+0

這取決於您的系統。在大多數情況下,在Linux操作系統中鍵入「crontab -e」並添加此行。 – ToxaBes

5

那麼我有一個不同的問題。雖然cron.php正確執行,但我的cron根本無法工作。仍然沒有輸出,也沒有完成任務。

我檢查過cron_schedule,注意到最後一份工作是從今年3月19日開始的(原文如此!)。所以我一直在尋找原因。

最後我注意到,有從3月19日(原文如此!)我的cronjob運行的進程。

josh 21350 99.6 0.4 350400 133492 ? R Mar19 241812:21 /usr/bin/php /var/www/mysite/cron.php -mdefault

我殺了這份工作有:kill -9 21350

瞧!突然通訊正在發送!

我不知道爲什麼,以及這是怎麼發生的。現在我知道我應該關注它,所以我會。

+0

我知道你很興奮,但請儘量讓你的語言受到控制。認爲堆棧溢出更像維基百科比喜歡Reddit。 – durron597

+0

對不起,我真的很興奮,我的壞。 – Deus777

1

我剛剛看到您使用的是magento 1.9.1。

使用PHP,而不是運行的cron:在/ usr/local/bin目錄/ PHP -f /home/cpanel_username/public_html/cron.php

這應該解決您可能會使用「USR時有HTTP權限問題/ bin/wget -O/dev/null -o/dev/null'

試試這個命令,讓我知道它是否適合你。