3

私は半リアルタイムの通知システムを Facebook のようなものにしようとしています。そのために、マインドレス ポーリング (N 秒ごとにポーリング) の代わりにロング ポーリングを使用することを楽しみにしています。

はい、私は Apache を使用していません。このタイプのポーリングを処理できる Nginx を使用しています。

ここで疑問が生じました。長いポーリングのこの主題について読んだすべてのチュートリアルは、データが返されない場合に ajax リクエストが 30 ~ 50 秒でタイムアウトし、再度ポーリングする例を示しています。サーバーを 30 秒ごとにポーリングして通知を確認しますが、長時間のポーリングによって状況がどのように改善されるのでしょうか? 30 ~ 50 秒ごとに再接続されます。

そのため、max_execution_time をデフォルトの 60 から 300 または 400 に変更し、タイムアウトして再接続する前に少なくとも 5 分間待機するリクエストでポーリングするオプションがあると考えました。

そうすることの悪い副作用を期待できますか? このアプローチは欠陥がありますか? または、より良いアプローチがありますか?

ありがとうございました。

4

1 に答える 1

3

より良いアプローチは、そのようなタスク用に最適化されたバックエンドを使用することnode.jsです。

ただし、PHP を使用する場合は、最大実行時間を上げない理由はありません。

于 2011-04-28T12:51:38.700 に答える