定时任务介绍
定时任务是指我们定时触发用户写的php代码的执行,来完成需要周期性处理的后台任务
调度任务开发指南
接入TAE的任务模型,ISV需要把任务的业务逻辑拆解为两个阶段:数据准备阶段及数据处理阶段
TAE任务框架负责回调这两阶段的代码
定时服务使用方法
开发者需要在TAE控制台配置任务服务,入口如下:
如何设置一个定时任务
1. 创建新任务
通过定时任务入口进入创建页面
创建新任务
新建一个任务需要提供三个信息,任务名称、任务表达式及任务描述,任务名称与任务描述由开发者自由定义;
任务表达式必须满足的Quartz的规则,完整的的表达式说明可以参考:
Quartz说明
以每天2点定时执行会员增量同步的案例来看,表达式应该如下设置:
0 2 * * ?
上述表达式就说明该任务是在每个月每天的2点0分开始执行该任务。
Quartz表达式说明:
第1列表示分,取值0~59 每分钟用*或者 */1表示
第2列表示小时,取值0~23(0表示0点)
第3列表示日期,取值0~31
第4列表示月份,取值0~11或JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
第5列表示星期几,取值1~7(1=Sunday)或SUN, MON, TUE, WED, THU, FRI,SAT
符号简介:
"*"代表取值范围内的数字
"/"代表"每"
"-"代表从某个数字到某个数字
","分开几个离散的数字
"?"用来表示没有意义的值,日期列和星期列中,必须有一个为?
2. 上传调度任务
应用创建完毕后,将已打好包的调度任务程序包上传到对应的任务上;
需要注意:调用任务程序包必须打包为ZIP格式,ZIP包包括app.yml文件和php文件
app.yml文件demo:
!!com.alibaba.appengine.jae.model.TaskConfig! !
taskFile: php/task.php
fileEncoding: UTF-8
其中taskFile表示要定时执行的php文件,php?文件的路径使?用app.yml的相对路径
以下面的目录结构为例,打成zip包的时候不要包含phpTask这个文档夹
网络访问:
在定时任务中可以使用同一个appkey的所有服务,使用方法同web应用。可靠的网络访问方法只有Fetchurl,不能直接访问。
下载后修改service-conf/service-config.properties文件,服务配置格式和web应用的ace4j-private.properties格式一样
执行run.bat(linux下面是执行run.sh),可以启动一次任务执行,会提示你让你输入任务所在的目录。
如果定时任务的代码所在目录是不变,不想每次输入可以修改run.bat,把你的定时任务所在的位置写在这里这个双引号中:set WORKER_BASE=""
定时任务demo
FAQ
关于此文档暂时还没有FAQ