2012-05-09 85 views
0

我一直在创建一个用于下载Facebook用户数据的php脚本。因为有大量的数据,脚本在它结束之前工作约1到1.5分钟。 Hovewer几秒钟后,我在Facebook上的应用程序出现错误,假设因为我的服务器没有响应。在发送数据时将进程置于php后台

但我想继续应用程序,为用户提出一些问题,那么如何将该下载过程放入后台。

我的应用程序的某些部分从Facebook下载数据位于不同的服务器,我只向他们发送访问令牌和用户ID,并且在成功授权后开始下载数据。

为了将数据发送到不同的服务器,我使用了file_get_contents()方法。

编辑:我想到了类似的东西:将服务器上的进程放入后台,并在用户部分脚本中杀掉开始下载脚本的方法。

回答

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]"); 
    } 

这样的要求去到“背景”即使客户端重新加载或改变它仍在工作和页面(在我的项目的情况下),它分析数据没有中断到最后。