Cron Schedule不适用于自定义模块

时间:2018-04-19 07:12:46

标签: magento model cron magento-1.9 scheduler

我有一个自定义模块,它有两个cron时间表。下面是模块的config.xml

的代码
<?xml version="1.0"?>
<config>
  <modules>
    <Inchoo_Test>
      <version>0.1.0</version>
    </Inchoo_Test>
  </modules>
    <blocks>
        <test>
            <rewrite>
                <test>Inchoo_Test_Block_List</test>
            </rewrite>
        </test>
    </blocks>
  <global>
    <helpers>
      <test>
        <class>Inchoo_Test_Helper</class>
      </test>
    </helpers>
    <models>
      <test>
        <class>Inchoo_Test_Model</class>
      </test>
    </models>
    <resources>
      <test_setup>
        <setup>
          <module>Inchoo_Test</module>
        </setup>
        <connection>
          <use>core_setup</use>
        </connection>
      </test_setup>
      <test_write>
        <connection>
          <use>core_write</use>
        </connection>
      </test_write>
      <test_read>
        <connection>
          <use>core_read</use>
        </connection>
      </test_read>
    </resources>
  </global>
  <crontab>
        <jobs>            
            <test>
                <schedule><cron_expr>10 00 * * *</cron_expr></schedule>
                <run><model>test/cron::hello</model></run>
            </test>
            <productremove>
                <schedule><cron_expr>50 23 * * *</cron_expr></schedule>
                <run><model>test/cron::bye</model></run>
            </productremove>
        </jobs>
  </crontab>
</config>

我每天晚上7点设置cron.sh。 cron.php我在两种方法中都使用了log。 hello创建日志,而bye没有创建日志。我从aoe_scheduler运行了那个cron mannual,而且从管理员可以正常运行。有人可以告诉我为什么会跳过productremove的可能原因。

我对cron的工作也有些困惑。如果我在每天晚上7点设置cron,那么它是否会在7点之前工作,或者它将在当天晚上7点之后适用于所有调度程序。或者它将在晚上7点之前和之后工作

1 个答案:

答案 0 :(得分:0)

原因是错误的cron配置。默认magento cron.sh用于每5分钟运行一次以赶上计划任务。 Aoe调度程序甚至建议每分钟运行一次。

查看Schedule-&gt;列表视图,了解您的cronjobs会发生什么。如果您每天只运行一次cron.sh,您将看到许多任务被“跳过”