複数のサーバーを使用して、ラウンドロビン方式で負荷分散された着信Webリクエストを処理します。解決方法がわからない問題が発生しました。
AJAX(qqFileUploader)を使用して、ファイルをアップロードしています。デフォルトでは、/tmpフォルダーに移動します。これで問題ありません。問題は、そのファイルを取得しようとすると、その取得要求が、アップロードしたファイルがない行の次のサーバーによって処理されることです。リクエストを何度も繰り返すと、最終的にはファイルが保存されていた元のサーバーに到達し(ラウンドロビン負荷分散を介して)、ファイルを開くことができます。明らかに、それは良い解決策ではありません。
基本的にコードは次のとおりです:http: //jsfiddle.net/Ap27Z/。簡潔にするために、その一部を削除しました。アップローダーオブジェクトがPHPファイルを呼び出してファイルのアップロードを行い、ファイルのアップロードが完了した後、スクリプトに対して別のAJAX呼び出しが行われて.csvファイルが処理されることがわかります。これは、ラウンドロビンでプロセスが失われている場所です。
ここで、メモリへのファイルのアップロードに関連するSOに関するいくつかの質問を読みましたが、現在は本質的に実行可能ではないようです。ファイルをアップロードして同じリクエスト内ですべてを処理するために使用できる別のオプションはありますか?