Maison >développement back-end >tutoriel php >了解php定时计划任务的实现原理

了解php定时计划任务的实现原理

WBOY
WBOYoriginal
2016-07-25 09:03:121086parcourir
  1. ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
  2. set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去
  3. $interval=60*5; // 每隔5分钟运行
  4. do{
  5. $fp = fopen('test.txt','a');
  6. fwrite($fp,'test');
  7. fclose($fp);
  8. sleep($interval); // 等待5分钟
  9. }while(true);
  10. ?>
复制代码

只要运行上面的页面,然后关掉,程序就会一直运行下去。

在linux中有更简单的crontab命令。

crontab命令的功能是在一定的时间间隔调度一些命令的执行。

crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:编辑任务 -l:显示任务信息 -r:删除定时执行任务信息

crontab的格式: * * * * * Command 分 时 日 月 星期 要运行的命令

crontab的例子:

  1. */5 * * * * lynx http://bbs.it-home.org

  2. 每5分钟访问一次 bbs.it-home.org
  3. 0 8 * * * lynx http://bbs.it-home.org

  4. 每天早上8点访问 bbs.it-home.org
  5. 0 10 6 * 1-5 lynx http://bbs.it-home.org

  6. 每个月的6号和每个礼拜的星期一到星期五的早上10点访问 bbs.it-home.org
  7. 0 5 7 8 * lynx http://bbs.it-home.org

  8. 8月7日早上5点访问 bbs.it-home.org
复制代码

解释: "*"代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

本文转自:http://hi.baidu.com/andylu1988/item/9674d31406ed61008ebde4b6



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn