Magento Advanced /系统/ Cron *设置


9

概要

因此,我想确认我对Magento的cron配置的理解;在管理控制台下System > Configuration > Advanced > System > Cron

每#生成时间表

我不确定这个设置是关于什么的。

提前预定#

我假设这将提前#分钟。如果在cron选项卡中将cron计划程序配置为每5分钟运行一次,是否应该将此数字也配置为5,或者Magento是否不重新计划已经计划的作业?

如果不在#内运行则错过

在我看来,这似乎是说计划在何时运行cron并在#分钟内不执行cron时将其设置为“未命中”。

历史清理每#

我想这应该遍历cron_Schedule表,并清除所有遗漏和已执行的计划,这些计划在执行/遗漏后#分钟会清除吗?

成功历史一生

关于以前的配置,我认为这将在#分钟后清除所有成功的计划?

失败历史记录寿命

我认为这将清除#分钟后错过的所有时间表?然后history cleanup every #, success history and failure history设置所有完全明确。

Answers:


7

Magento的cron服务令人困惑的是,尽管它们确实被系统cron调用,但它们在整个Magento中通用的事件/观察者模型中抽象了一个更高的层次

了解这一点后,这些设置便会变得更有意义。如果您想查看它们的作用,可以在中清楚地看到它们的用法app/code/core/Mage/Cron/Model/Observer.php,该观察者是defaultcrontab范围内为该事件触发的,从而分派了所有计划的作业。

  • 每隔:分钟间隔生成一次计划,Magento将在该间隔内安排未来的工作。它不会在每次执行期间自动调度作业。
  • 提前排定:可以安排作业的未来分钟(添加到cron_schedule数据库队列中)。
  • 如果未在以下计划时间内运行而错过:在计划的时间之后几分钟,仍可以执行作业,然后将其状态设置为missed,如果队列花费很长时间来遍历在运行期间选择运行的所有作业,则该作业会起作用当前的执行Mage_Cron_Model_Observer::dispatch()时间(他们的计划时间现在或更早)。
  • 历史记录每隔一段时间:Magento将在cron_schedule数据库队列上执行清除的时间间隔,以分钟为单位,请参考以下有关保留的设置。
  • 成功历史记录的生命周期失败历史记录的生命周期:在达到这些状态后将记录保留在队列中的未来分钟。如果您想查看过去工作的结果cron_schedule.messages,这很有用,因为它们可能会将结果输出放置到中,这对于处于error状态的情况尤其有用。

为什么如果将front_for_scehdule从1更改为10,则不再将时间表添加到crontab?
LucScu

默认schedule_generate_every 15 schedule_ahead_for 20 schedule_lifetime 15 history_cleanup_every 10 history_success_lifetime 60 history_failure_lifetime 600
Collin Anderson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.