服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: 130-5800-8007
当前位置: 主页 > php教程 > magento教程 >

Magento模块中添加计划任务Cron Job

时间:2017-03-16 00:40来源:未知 作者:最模板 点击:
Magento提供了强大的计划任务功能(Cron Job),使用计划任务,我们可以方便的按照一定的时间规律生成Google网站地图,更新汇率,清除日志,降价通知等等,此外我们还可以根据需要在自
Magento提供了强大的计划任务功能(Cron Job),使用计划任务,我们可以方便的按照一定的时间规律生成Google网站地图,更新汇率,清除日志,降价通知等等,此外我们还可以根据需要在自己开发的模块中添加计划任务的功能,下面我们将介绍怎样在自己的模块中添加计划任务。
 
首先我们需要开启Cron功能,在服务器上添加Cron,如果你用的cPanel面板,在面板中可以直接添加,如果是自己的主机,比如Linux主机,我们可以这样添加:
#crontab -e
添加
*/5 * * * * /bin/sh /var/www/magento1510/cron.sh
其中 */5 * * * * 表示系统将每5分钟执行一次这个脚本
/var/www/magento1510/cron.sh 是Magento网站根目录下的cron.sh文件的绝对地址,请根据自己的配置修改。
然后重启Cron
#service cron restart
Magento将每五分钟检查各模块下的计划任务,并生成计划任务表,保存在cron_schedule表中,当某个计划任务符合时间条件,Magento便执行该计划任务,并把执行的情况记录在该表中,下面我们看以下怎样在模块中添加计划任务。
 
一个典型的例子是newsletter,我们在/app/code/core/Mage/Newsletter/etc/config.xml中发现了下面一些配置:
<config>
    <crontab>
        <jobs>
            <newsletter_send_all>
                <schedule><cron_expr>*/5 * * * *</cron_expr></schedule>
                <run><model>newsletter/observer::scheduledSend</model></run>
            </newsletter_send_all>
        </jobs>
    </crontab>
</config>
上面的配置指定了一个计划任务newsletter_send_all,它每五分钟执行一次,将执行Mage_Newsletter_Model_Observer类中的scheduledSend()函数,该文件位于/app/code/Mage/Newsletter/Model/Observer.php,打开该文件就可以看到该计划任务执行的内容,如果我们要在自己的模块中添加计划任务,按照上面的例子在config.xml添加相应的contab即可。
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容