在Magento中禁用系统crontab作业

时间:2015-05-06 05:51:03

标签: magento cron magento-1.x

是否可以通过app / etc / local.xml禁用系统crontab作业(例如来自Mage_Catalog的“catalog_product_index_price_reindex_all”)?

2 个答案:

答案 0 :(得分:3)

我说要避免攻击shell索引器或核心。

创建一个自定义模块并重写计划,例如在2月31日运行(这将永远不会发生)。

或者,如果您想要全局禁用它,并且即使您确实需要全部重新索引,也要避免运行它,那么只需覆盖catalog/observer观察者模型并添加reindexProductPrices()方法即可返回方法。

答案 1 :(得分:1)

这是解决方案,但您应该使用自定义模块重写Mage / Catalog / etc / config.xml

快速解决方案

转到核心并删除代码

  

示例:app / code / core / Mage / Catalog / etc / config.xml

删除

<crontab>
    <jobs>
        <catalog_product_index_price_reindex_all>
            <schedule>
                <cron_expr>0 2 * * *</cron_expr>
            </schedule>
            <run>
                <model>catalog/observer::reindexProductPrices</model>
            </run>
        </catalog_product_index_price_reindex_all>
    </jobs>
</crontab>

解决方案2

转到* / shell / indexer.php

在第154行附近找到此代码

        if ($this->getArg('reindex')) {
            $processes = $this->_parseIndexerString($this->getArg('reindex'));
        } else {
            $processes = $this->_parseIndexerString('all');
        }

评论$processes = $this->_parseIndexerString('all');

        if ($this->getArg('reindex')) {
            $processes = $this->_parseIndexerString($this->getArg('reindex'));
        } else {
            // $processes = $this->_parseIndexerString('all');
        }