在发送数据时将进程放入php的后台

时间:2012-05-09 17:53:13

标签: php facebook-graph-api background file-get-contents

我一直在创建一个用于下载facebook用户数据的php脚本。因为有很多数据,脚本在结束前大约需要1 - 1,5分钟。 Hovewer几秒钟之后,我在Facebook上的应用程序出现错误,假设因为我的服务器没有响应。

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

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

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

编辑:我想到这样的事情:将服务器上的进程放到后台,并在用户部分脚本中杀死开始下载脚本的方法。

1 个答案:

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

因此请求进入“后台”,即使客户端重新加载或更改页面仍然有效(并且在我的项目中),它会在不中断的情况下分析数据。