阿里云Cron服务说明
功能简介
Cron是ACE为开发者提供的定时分布式定时任务服务,可以按照要求来定时执行相关的任务。例如:back.php 定期查询数据库特定消息汇总给开发者。Cron的语法规则与linxu下crontab的语法规则一致,但区别与crontab的配置文件定义cron的方式,ACE用PHP API来管理cron。crontab是以http的方式执行,最终访问的是php的代码,如果发现执行过程中连续5次返回失败,则会自动删除该计划任务。
使用说明
按照和linux下crontab一致的语法规则设定cron的执行时机,调用cron相关接口添加、删除、查看crontab。如果不熟悉linux下crontab的设置语法,请参考:
http://study.chyangwa.com/IT/AIX/aixcmds1/crontab.htm
http://www.pantz.org/software/cron/croninfo.html
注意:
1、crontab是以http方式执行的,脚本的最长执行时间是30秒,如果是计划任务执行时间超过30秒,请分拆执行;
2、 crontab是以http方式执行的,脚本的最长执行时间是30秒,如果是计划任务执行时间超过30秒,请分拆执行;
3、 crontab仅仅对默认版本生效;
4、目前支持两种方式,一种是到点执行一次的方式,例如:每天5点钟执行一个脚本;一种是偏移执行的php方式,例如每个小时都要执行一个php脚本。
参考示例
< ?php
//添加crontab
$cron_id = cron_add("2/5 12-14 * * * *" , "cron/backup.php");
//删除crontab
$ret = cron_delete($cron_id);
//查询crontab
$array = cron_list();
?>
API文档
string cron_add(string $scheduler, string $url, [string $timezone])
添加定时任务
参数:
scheduler
定时规则,和linux的cron规则一样。
第一到五个字段的整数取值范围及意义是:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
例如 2/5 12-14 * * * * 表示每天12点14点,每点2分开始每5分钟执行一次
url
执行的脚本的名称,例如:cron/backup.php
timezone
时区,默认为:GMT-8
返回值:
成功返回 cron_id,即定时任务编号;失败返回false
bool cron_delete(string $cron_id)
删除定时任务
参数:
cron_id
定时任务编号
返回值:
成功 true ;失败false
array cron_list()
查询定时任务
参数
无
返回值
成功(arrary)[["cronId"=>"1","app_id"=>"2","url"=& gt;"cron/back.php","scheduler"=>"2/5 12-14 * * * *","timezone"=>"gmt-8"],...]
失败 false