Magento 允许您以类似于 UNIX crontab 样式的方式在 XML 配置中安排自定义任务。这是来自 app/code/core/Mage/CatalogRule/etc/config.xml 的示例:
<config>
...
<crontab>
<jobs>
<catalogrule_apply_all>
<schedule><cron_expr>0 1 * * *</cron_expr></schedule>
<run><model>catalogrule/observer::dailyCatalogUpdate</model></run>
</catalogrule_apply_all>
</jobs>
...
</crontab>
...
</config>
此示例将在每天上午 01:00 (0 1 * * *) 运行 Mage_CatalogRule_Model_Observer::dailyCatalogUpdate 方法。
您可以在自己的自定义模块中扩展此功能。要利用这一点,在模块的 config.xml 中添加以下内容:
<config>
...
<crontab>
<jobs>
<namespace_module>
<schedule>
<cron_expr>0,15,30,45 * * * *</cron_expr>
</schedule>
<run>
<model>module/model::method</model>
</run>
</namespace_module>
</jobs>
</crontab>
...
</config>
这将在一刻钟每 15 分钟运行一次。
要执行所有这些配置的任务,位于 Magento 根目录中的 cron.php 文件需要定期运行,例如每 15 分钟运行一次。基本上,这个脚本将检查它是否需要运行任何任务,以及是否需要安排任何未来的任务。
现在您可以根据您的要求发送计时器...