定时任务
定时任务实现形式
1 . window计划任务-->写bat脚本,让windows任务添加执行BAT脚本
2. Linux脚本实现-->crontab命令-->cron
3. PHP 实现定时任务
解决方案:用PHP死循环,在循环内每隔一定时间执行同一命令
要解决的问题:1.PHP对命令执行时间有时间限制,超过执行时间运行PHP就会报错,由php.ini中 max_execution_time 参数值决定php命令最长运行时间,默认为30秒。
2.无用户打开网页时PHP服务器程序无法运行问题,需要使用函数:
1. ignore_user_abort(true),不管浏览器是否关闭,代码依旧执行。
2. set_time_limit(0),设置PHP命令运行时间。
3. 抓取内容函数: <1>. file_get_contents() <2>. curl();
4. 代码:
index.php
//控制,通过程序关掉 $interval = 10; //休息时间 do{ $run = include 'config.php'; if(!$run) break; //如果循环的时间为0,停止 //字符串写入文件 $fp = file_put_contents(time().'txt','page老师帅的不行’); sleep($interval);//当程序执行到这个地方,暂时不往下执行 } while(true)
config.php
<?php return 0; //return 1 时采集程序执行
4.js定时任务