首页 > 代码库 > ECSTORE2.0 新增自定义定时任务

ECSTORE2.0 新增自定义定时任务

在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 <?php2 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  最后在定时任务列表能查看到自定义的任务就是正确的。

ECSTORE2.0 新增自定义定时任务