2016-10-04 8 views
1

私はサイト(サイトa)からリクエストを(サイトbから)取得してから、ZIPベースで資格を満たす人数を返します。私はサイトにリクエスト・ハンドラーを作成して、データベースに要求情報を保管し、要求の履行を開始します。PHP:投稿要求を送信してから接続を終了することはできますか?

これは私の問題です。データベースの人数(3億人以上)のため、リクエストには4〜5分かかります。この時間のために、カウントの実行がまだ実行中であっても、サイトbはタイムアウトの問題を戻しています。

私の質問は次のとおりです。URLリクエストをトリガーする方法はありますか?

+0

あります。 [この回答](http://stackoverflow.com/a/141026)を参照してください。 PHPコードでは、いくつかのヘッダーを出力して、接続が閉じられたことをクライアントに知らせるが、phpスクリプトはバックグラウンドで引き続き実行される。 –

+2

技術的にはすべてのHTTP要求が応答を得なければなりませんが、応答が気にかからなければ、指定された間隔の後に要求をシャットダウンすることができます。しかし、あなたが応答を待たなければ、あなたの要求が成功したかどうか、あるいは「TCP待ち」の段階などで固まっていることは決して分かりません。 –

+0

@MarcB私が間違っていると私を修正します。しかし、JavaScriptで完了する前にリクエストを "シャットダウン"すると、PHPの実行も停止します。私は、OPがクライアントにいくつかのPOSTデータを送信させ、クライアントが遠ざかるようにしたいが、PHPが処理を完了できるようにしたいと思う。 –

答えて

0

可能であることを確認してください:リクエストの

使用PHPのcUrl延長、それはあなたが多分20秒まで設定できるカスタムタイムアウト(CURLOPT_CONNECTTIMEOUT)を可能にします。タイムアウトが切れると、あなたのスクリプトは何らかの潜在的な応答を気にすることなく、何でもしていくことができます。

しかし、一般的に私はあなたが説明している正確な目的のために特定の「ストレージのみ」のアクセスを提供するように、あなたが使用しているサービスを修正/修正しようとするべきであることを示唆したい。

関連する問題