0

Facebookのユーザーデータをダウンロードするためのphpスクリプトを作成しています。大量のデータがあるため、スクリプトが終了するまでに約 1 ~ 1.5 分かかります。ただし、サーバーからの応答がないため、数秒後に Facebook のアプリにエラーが表示されます。

しかし、ユーザーに質問するためにアプリを続行したいので、そのダウンロードプロセスをバックグラウンドにするにはどうすればよいですか。

Facebook からデータをダウンロードしているアプリの一部が別のサーバーにあり、アクセス トークンとユーザー ID のみを送信し、認証が成功した後にデータのダウンロードを開始します。

別のサーバーにデータを送信するには、file_get_contents()メソッドを使用しました。

編集:私はそのようなことを考えています:サーバー上のプロセスをバックグラウンドに置き、ユーザー部分スクリプトでそのダウンロードスクリプトを開始したメソッドを強制終了します。

4

1 に答える 1

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

したがって、そのリクエストは「バックグラウンド」に入り、クライアントがページをリロードまたは変更しても機能し、(私のプロジェクトの場合)最後まで中断することなくデータを分析します。

于 2012-09-04T16:54:58.580 に答える