fgdfg 发表于 2017-3-23 10:02:58

PHP执行循环任务

  创建文件task.php:
  <?php
  ignore_user_abort(); //后台执行脚本,浏览器关闭不结束脚本执行
  set_time_limit(0); //永不过期
  $interval=60; // 循环间隔1分钟
  //如果taskrun存在,说明此任务已在运行,清空缓存,不重新运行任务
  if(file_exists("taskrun"))
  {
  clearstatcache();
  }
  else
  {
  //如果文件不存在,说明任务未运行,则创建文件taskrun,开始任务
  clearstatcache();
  $file = fopen("taskrun", "w");
  fwrite($file,'1');
  fclose($file);
  do{
  //检查taskrun是否存在,如果不存在则结束任务,删除此文件则可以结束任务
  if(file_exists("taskrun"))
  {
  clearstatcache();
  //some task
  sleep($interval); // 等待1分钟
  }
  else
  {
  clearstatcache();
  break;
  }
  }while(true);
  }
  ?>
  在浏览器中访问task.php,启动循环任务,浏览器可关闭
  若要停止任务,只需删除taskrun文件。
页: [1]
查看完整版本: PHP执行循环任务