Magento 1.9.1 Cron没有运行

时间:2015-04-20 12:44:22

标签: php magento cron magento-1.9.1

我对Magento 1.9.1的cron存在很大问题,希望有人可以提供帮助。我安装了AOE,看不到心跳。

我添加了我的cron作业

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

但是这仍然没有运行,所以我决定尝试运行cron.php,这没有任何作用。这是我的cron

*/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。

3 个答案:

答案 0 :(得分:18)

修复Magento cron问题的几个简单步骤:

  1. 转到系统>配置>高级>系统> Cron(计划任务)并设置下一个值:

    • 生成时间表:15
    • 提前安排:20
    • 错过如果不在其中运行:15
    • 历史清理每个:10
    • 成功历史终身:60
    • 失败历史终身:600
  2. 清除系统中的缓存>缓存管理

  3. 清除'cron_schedule'表。您可以通过phpmyadmin或在SQL控制台中执行next命令来执行此操作:

    TRUNCATE TABLE cron_schedule;

  4. 将下一行添加到cron设置(使用绝对路径):

    * / 5 * * * * / usr / bin / php /absolute/path/on/your/server/to/file/cron.php

  5. 注意:在webserver(apache / nginx)上的某些配置允许执行php脚本。在这种情况下,将此行添加到webserver的用户crontab。 apache的示例:crontab -u apache -e

    1. 重新启动cron守护程序。

    2. 检查表'cron_schedule',如果它不为空--Magento cron脚本开始工作。

答案 1 :(得分:6)

我有一个不同的问题。虽然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

杀死了这份工作

瞧!突然发送通讯!

我不知道为什么,以及这是怎么发生的。现在我知道我应该注意它,所以我会。

答案 2 :(得分:1)

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

使用php运行cron:/ usr / local / bin / php -f /home/cpanel_username/public_html/cron.php

这应该可以解决您在使用' usr / bin / wget -O / dev / null -o / dev / null'

时可能遇到的http权限问题

尝试该命令并告诉我它是否适合您。