【问题标题】:Magento Cron file inclusion errorMagento Cron 文件包含错误
【发布时间】:2011-08-12 13:47:01
【问题描述】:

我第一次为 magento 安装了 cron 作业。 这是一个具有 cronjob 设置的模块,如下所示 config.xml

<crontab>
    <jobs>
        <campaigns_observer_discount>
            <!-- each 7 minutes -->
            <schedule><cron_expr>*/1 * * * *</cron_expr></schedule>
            <run><model>campaigns/observer::discountExpiryAlert</model></run>
        </campaigns_observer_discount>

    </jobs>
</crontab>

当 cron.php 运行时,magento 正在寻找 mage 目录下的文件,而不是在本地文件夹中 错误状态如下

2011-08-12T13:38:07+00:00 ERR (3): Warning: include(Mage/Campaigns/Model/Observer.php): failed to open stream: No such file or directory  in /var/www/website/src/magento/lib/Varien/Autoload.php on line 93

它应该寻找 Namespace/Campaigns/Model/Observer.php 。我试图改变config.xml中的参数

<run><model>namespace_campaigns/observer::discountExpiryAlert</model></run>

然后magento查找文件Mage/Namespace/Campaigns/Model/Observer.php

任何机构都可以建议我哪里出错了吗?谢谢,非常感谢您的帮助

【问题讨论】:

    标签: magento crontab


    【解决方案1】:

    Magento 不知道您的“命名空间”,因此会自动添加 Mage。您的 config.xml 中还有另一个错误,很可能在 global/model 部分:

    <models>
        <campaigns>
            <class>Namespace_Campaigns_Model</class>
        </campaigns>
    </models>
    

    根据您上面的示例代码应该是正确的定义。

    【讨论】:

    • 我们需要一些 Magento 社区的标准术语。我永远不知道是否称它为命名空间、类前缀等。
    • @bami.c 你是 100% 正确的。我将此 cron 添加到现有模块中。但从来没有看过,如果模型配置正确。现在它的作品。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 2014-03-21
    • 1970-01-01
    相关资源
    最近更新 更多