我一直在创建一个用于下载facebook用户数据的php脚本。因为有很多数据,脚本在结束前大约需要1 - 1,5分钟。 Hovewer几秒钟之后,我在Facebook上的应用程序出现错误,假设因为我的服务器没有响应。
但是我想继续使用app,为用户提出一些问题,那么我该如何将该下载过程放到后台。
从Facebook下载数据的应用程序的某些部分位于不同的服务器中,我只发送访问令牌和用户ID,成功授权后开始下载数据。
为了将数据发送到不同的服务器,我使用了file_get_contents()
方法。
编辑:我想到这样的事情:将服务器上的进程放到后台,并在用户部分脚本中杀死开始下载脚本的方法。
答案 0 :(得分:0)
所以我发现了一些答案,你不需要使用cron。在我的项目中,我使用了这样的AJAX:
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","[YOUR_PHP_FILE.php]",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("[REQUEST TO THE SERVER]");
}
因此请求进入“后台”,即使客户端重新加载或更改页面仍然有效(并且在我的项目中),它会在不中断的情况下分析数据。