【发布时间】:2012-12-21 22:40:53
【问题描述】:
我正在开发一个自定义 Magento 模块并为其设置一个 Cron 作业。
一切正常,但我担心 Cron 作业的意外行为(随机执行次数)。
当我手动执行 cron.php 时,它会调用我模块的观察者方法超过 1 次(执行次数不固定,有时 3 次有时 5 次等)。
我只想执行一次观察者的方法。
这是我的代码。
1) Daffodil/Birthdaywish/etc/config.xml
...
...
<crontab>
<jobs>
<daffodil_birthdaywish>
<schedule>
<cron_expr>* * * * * *</cron_expr>
</schedule>
<run>
<model>birthdaywish/observe::sendBirthdayMail</model>
</run>
</daffodil_birthdaywish>
</jobs>
</crontab>
...
2) Daffodil/Birthdaywish/Model/observe.php
Class Daffodil_Birthdaywish_Model_Observe {
public function sendBirthdayMail() {
echo "<h1>Hello</h1>";
}
}
如果我执行 cron.php,预期的输出应该是
Hello
但是当前的输出是一段时间
Hello Hello Hello
还有一段时间
Hello Hello Hello Hello Hello
我只想知道为什么观察者的方法执行次数(随机次数)?
有什么方法可以将预定 cron 的状态更改为“COMPLETE”,这样它就不会执行两次?
【问题讨论】:
标签: magento cron crontab magento-1.7