Magento模块中添加计划任务Cron Job【magento二次开发】

Magento提供了强大的计划任务功能(Cron Job),使用计划任务,我们可以方便的按照一定的时间规律生成Google网站地图,更新汇率,清除日志,降价通知等等,此外我们还可以根据需要在自己开发的模块中添加计划任务的功能,下面我们将介绍怎样在自己的模块中添加计划任务。

首先我们需要开启Cron功能,在服务器上添加Cron,如果你用的cPanel面板,在面板中可以直接添加,如果是自己的主机,比如Linux主机,我们可以这样添加:
  1. #crontab -e
添加
  1. */5 * * * * /bin/sh /var/www/magento1510/cron.sh
其中 */5 * * * * 表示系统将每5分钟执行一次这个脚本
/var/www/magento1510/cron.sh 是Magento网站根目录下的cron.sh文件的绝对地址,请根据自己的配置修改。
然后重启Cron
  1. #service cron restart
Magento将每五分钟检查各模块下的计划任务,并生成计划任务表,保存在cron_schedule表中,当某个计划任务符合时间条件,Magento便执行该计划任务,并把执行的情况记录在该表中,下面我们看以下怎样在模块中添加计划任务。

一个典型的例子是newsletter,我们在/app/code/core/Mage/Newsletter/etc/config.xml中发现了下面一些配置:
  1. <config>
  2.     <crontab>
  3.         <jobs>
  4.             <newsletter_send_all>
  5.                 <schedule><cron_expr>*/* * * *</cron_expr></schedule>
  6.                 <run><model>newsletter/observer::scheduledSend</model></run>
  7.             </newsletter_send_all>
  8.         </jobs>
  9.     </crontab>
  10. </config>
上面的配置指定了一个计划任务newsletter_send_all,它每五分钟执行一次,将执行Mage_Newsletter_Model_Observer类中的scheduledSend()函数,该文件位于/app/code/Mage/Newsletter/Model/Observer.php,打开该文件就可以看到该计划任务执行的内容,如果我们要在自己的模块中添加计划任务,按照上面的例子在config.xml添加相应的contab即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值