阿里云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