为了账号安全,请及时绑定邮箱和手机立即绑定

关于php 自动/定时 执行函数 (将api中的数据每十分钟录入数据库)

关于php 自动/定时 执行函数 (将api中的数据每十分钟录入数据库)

PHP
动漫人物 2019-03-09 22:30:25
function add(){ curl方法获取api数据 将数据录入数据库 } 网上给的方法: ignore_user_abort(); // 后台运行 set_time_limit(0); // 取消脚本运行时间的超时上限 $interval=60*10;// 每隔半小时运行,这个间隔时间是可以随着 需要进行修改 do{ add(); //执行的代码 sleep($interval); // 休眠半小时 }while(true); 但是一关闭浏览器就无法自动更新 有什么方法吗?用php来实现的方法
查看完整描述

6 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

你这段代码不应该关闭浏览器就停止运行吧?因为第一行就断开浏览器了,接下来就是后台运行了.
我建议你用liunx的cron定时访问而不是后台运行,分钟级别的就一行命令罢了.至于cron怎么写,自己了解下吧.
记得每次访问加个锁,比如文件锁.避免重复执行的问题.

仔细看了下好些断开前没有输出任何内容,所以没有真正的离线.
我给你谢了个,你可以试试

$size=ob_get_length(); 
header("Content-Length: $size");
header("Connection: Close");
ob_flush();
flush();
set_time_limit(0);
//接下来,浏览器已断开,开始做你想做的事
查看完整回答
反对 回复 2019-03-18
?
慕慕森

TA贡献1856条经验 获得超17个赞

后台脚本执行,用php的cli模式执行,在加上计划任务,或者自己控制执行频率就好了。

查看完整回答
反对 回复 2019-03-18
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

a.php

function add(){
curl方法获取api数据
将数据录入数据库
}

$interval=60*10;// 每隔半小时运行,这个间隔时间是可以随着 需要进行修改
do{
add();        //执行的代码
sleep($interval); // 休眠半小时
}while(true);

命令行模式下脚本没有超时时间,只要不挂,一直执行。

执行命令

php a.php

查看完整回答
反对 回复 2019-03-18
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

我是使用 bt面板里带的计划任务
https://img1.sycdn.imooc.com//5c8f66140001ae5e08000408.jpg

https://img1.sycdn.imooc.com//5c8f66160001617808000295.jpg

访问url,定时去访问一个url去执行要进行的操作就可以了

查看完整回答
反对 回复 2019-03-18
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

crontab定时处理

查看完整回答
反对 回复 2019-03-18
  • 6 回答
  • 0 关注
  • 715 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信