功能簡介
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();
?>
添加定時任務
參數:
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.phptimezone
時區,默認為:GMT-8返回值:
成功返回 cron_id,即定時任務編號;失敗返回false刪除定時任務
參數:
cron_id
定時任務編號返回值:
成功 true ;失敗false查詢定時任務
參數
無返回值
成功(arrary)[["cronId"=>"1","app_id"=>"2","url"=& gt;"cron/back.php","scheduler"=>"2/5 12-14 * * * *","timezone"=>"gmt-8"],...] 失敗 false