Magento上的Cron工作无法正常工作

时间:2012-10-24 12:20:02

标签: magento cron

我遇到了Magento cron表达式的问题。它可以在几分钟内正常工作:

    <crontab>
    <jobs>
        <namespace_module_cron>
            <schedule>
                <cron_expr>*/15 * * * *</cron_expr>
            </schedule>
            <run>
                <model>namespace_module/observer::myMethod</model>
            </run>
        </namespace_module_cron>
    </jobs>
</crontab>

但是当我设定时间时它不起作用:

<cron_expr>0 1 * * *</cron_expr>

<cron_expr>0 */1 * * *</cron_expr>

我在管理面板中尝试了不同的时间设置。现在有:

  • 15
  • 1
  • 60
  • 120
  • 120
  • 3000

P.S。 Magento ver。 1.7.0.1

更新

我把每小时工作(0 * / 1 * * *)留了一天,它实际上运行了:

  • 14:15
  • 16:15
  • 21:15
  • 22:15
  • 三点15
  • 4时15

4 个答案:

答案 0 :(得分:4)

我弄清楚出了什么问题。这是设置(系统/配置/系统/ Cron)。 当我将“Schedule Ahead for”设置为60 时,它开始正常工作(每小时和每天的时间表)。 现在,当我需要在16:00执行时,数据库中的时间表出现在15:20。

设定:

  • 生成时间表:15
  • 提前安排:60
  • 错过如果不能在其中运行:60
  • 每次清理历史:120
  • 成功历史终身:120
  • 失败历史终身:3000

如果遇到同样的问题,您应该注意前两个设置:“生成每个时间表”和“提前安排”

答案 1 :(得分:1)

对于0分钟(00:00,01:00; 02:00等)的每小时,您必须输入:

<cron_expr>0 * * * *</cron_expr>

答案 2 :(得分:1)

我已经定义了这样的玉米工作。 03 16 * * *

当你的cron.php在16:02运行时它会在数据库表cron_schedule中只创建一个关于这个cron作业的条目,它不会运行cron作业。 要运行这个cron作业,我需要运行两次cron.php, 表示在表中创建条目后,您应该在15分钟内运行cron,否则忽略该条目。 因此,要运行cron作业,您应该定期运行cron.php。

我的cron工作每天16:03运行 我在10分钟后每次都运行cron.php

答案 3 :(得分:1)

我知道这是旧的,但它可能仍然相关,因为我遇到了类似的东西。您的cron.sh多久安排在您的服务器上运行。如果调度程序设置为每60分钟并且它在小时(下午12点,下午1点,下午2点......等)运行,并且您的预定提前时间设置为20分钟(默认情况下我认为),并且您的magento cron表达式是,例如,30 * * * *,或半小时的每小时,你的工作永远不会运行。你的cron.sh只会提前20分钟设置magento cron作业,因此12:30作业将无法安排,但由于magento的cron.sh设置为按小时运行,它将永远不会被安排。我怀疑你原来的问题是类似的,因为调整magento cron应该安排的时间之前的“预定前进”时间修复了这样的问题。还有一些值得关注的东西。