【问题标题】:Magento cron jobMagento 定时任务
【发布时间】:2014-08-07 08:20:51
【问题描述】:

我已将我的服务器 (CPanel) 配置为每 5 分钟在 magento 根文件夹中运行 cron.sh。但它不起作用,并且数据库中的 cron_schedule 表是空的。这是我的 config.xml

<config>
<modules>
    <Company_Facebookreview>
        <version>1.0.0</version>
    </Company_Facebookreview>
</modules>
<global>
    <models>
        <facebookreview>
            <class>Company_Facebookreview_Model</class>
            <resourceModel>facebookreview_mysql4</resourceModel>
        </facebookreview>
        <facebookreview_mysql4>
            <class>Company_Facebookreview_Model_Mysql4</class>
            <entities>
                <facebookreview>
                    <table>facebookreview</table>
                </facebookreview>
            </entities>
        </facebookreview_mysql4>
    </models>
    <resources>
        <facebookreview_setup>
            <setup>
                <module>Company_Facebookreview</module>
                <class>Mage_Sales_Model_Resource_Setup</class>
            </setup>
        </facebookreview_setup>
    </resources>
    <helpers>
        ...
    </helpers>
    <blocks>
        ...
    </blocks>
    <events>
        <sales_order_place_after>
            <observers>
                <place_order_after>
                    <type>singleton</type>
                    <class>Company_Facebookreview_Model_Observer</class>
                    <method>save</method>
                </place_order_after>
            </observers>
        </sales_order_place_after>
    </events>
</global>
<crontab>
    <jobs>
        <facebookreview>
            <schedule>
                <cron_expr>*/5 * * * *</cron_expr>
            </schedule>
            <run>
                <model>facebookreview/observer::methodName</model>
            </run>
        </facebookreview>
    </jobs>
</crontab>

这是我的公司/Facebookreview/Model/Observer.php

class Company_Facebookreview_Model_Observer extends Varien_Event_Observer
{
public function save(Varien_Event_Observer $observer) {

}
public function methodName($schedule) {
    Mage::log('cron working fine');//cache is disabled and var folder has 777 permissions and var folder hasnt log folder
}
}

缓存被禁用,var 文件夹有 777 权限,var 文件夹没有日志文件夹。 我正在使用 Magento 社区 1.9。我做错了什么?请帮忙...

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

    如果您的表 cron_schedule 表为空,那么很可能系统 cron 不工作或 magento cron 未添加到其中。

    请交叉检查。 您可以像这样将 Magento Cron 添加到系统 cron:

    */5 * * * *  /bin/sh /path/to/magento/cron.sh
    

    或者您可以使用 PHP 方式添加。

    另外,要确认 magento cron 工作正常并且问题是由上述任何一种情况引起的,请尝试在浏览器中打开以下 URL:

    www.MAGENTOSITE.COM/cron.php
    

    如果运行此 URL 会在 cron_schedule 中创建条目,那么您需要检查上述内容。

    【讨论】:

      【解决方案2】:

      我有两个建议。

      更新 cron.php

      如果您使用的是 Magento 1.8,那么这将解释您需要做什么:http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/magento1/cron-jobs-do-not-run-on-magento-1-8-after-upgrade

      确保您使用的是正确版本的 php

      这可能只是您使用的是旧版本的 php!默认情况下,在我的情况下,在 1and1 上,只需使用 php 命令即可获得 v4.4.9。我必须明确强制 php v5 然后它才能工作!

      我还建议安装 Fabrizio Branca 的 AOE Scheduler extension

      【讨论】:

        猜你喜欢
        • 2015-03-11
        • 2017-10-14
        • 2014-04-14
        • 2020-03-31
        • 2023-03-27
        • 1970-01-01
        • 2013-10-25
        • 2011-06-28
        相关资源
        最近更新 更多