在ECsotre系统里面添加一个自定义的定时任务,可以完成一些自动化处理,例如自动确认订单或者是删除无效订单的,可以很方便的实现各种定时执行的任务,下面简单介绍下怎么添加定时任务。
在自己的app目录下新建一个名为crontab.xml文件,在文件加入如下代码:
1 <cronentries> 2 <cron id="taobao_tasks_syncPrice"> 3 <description>自动同步淘宝价格</description> 4 <schedule>*/3 * * * *</schedule> 5 <enabled>true</enabled> 6 </cron> 7 </cronentries>
cron 标签里的id是指向到你要执行文件,我这里的路径是app/taobao/lib/tasks/syncPrice.php
description:是描述定时任务,在定时任务管理能直观的看出任务的功能。
schedule:是设置时间段规则,也就是每次执行的时间,这个里的格式跟crontab一样。
enabled:设置是否启用。
接下来创建好路径为app/taobao/lib/tasks/syncPrice.php ,文件名和路径是在 crontab.xml 里的id指定的。
syncPrice.php文件代码如下
1 <?php 2 class taobao_tasks_syncPrice extends base_task_abstract implements base_interface_task{ 3 public function exec($params=null){ 4 //在这里写处理代码,建议最好把代码写在lib层,这样可以在其它地方进行调用调试,而 不用每次等待定时任务执行来调试。 5 } 6 }
最后在应用中心点击维护,或者在命令行 app/base/cmd update 最后在定时任务列表能查看到自定义的任务就是正确的。