これは、アップロードされた大量のデータを受信し、処理し、結果を返す Web アプリケーションを作成する方法に関する一般的な設計上の問題です。
要件は次のとおりです。
- URL のリストを含む CSV ファイルをアップロードできる Web フォームを作成する
- ユーザーが「送信」をクリックすると、サーバーはファイルを取得し、各 URL が有効かどうか、およびページのタイトル タグが何であるかを確認します。
- 結果は、URL を含むダウンロード可能な CSV ファイルと、結果の HTTP コードです。
- 入力 CSV は非常に大きくなる可能性があるため (> 100000 行)、フェッチ プロセスに 5 ~ 30 分かかる場合があります。
これまでの私の解決策は、クライアント サイトに回転する JavaScript ループを配置することです。このループは、毎秒サーバーにクエリを実行して、ジョブの全体的な進行状況を判断します。これは私には不親切に思えます。これを最善の解決策として受け入れることをためらっています。
私は perl、テンプレート ツールキット、および jquery を使用していますが、任意の Web テクノロジを使用した任意のソリューションが受け入れられます。
編集: 可能な解決策の例は、この質問にあります:基本的な「ロングポーリング」を実装するにはどうすればよいですか?