0

ajax マルチアップローダー (http://github.com/valums/file-uploader) を介してファイル (画像) をアップロードします。アップロードされた各ファイルは一時ファイルに保存されます。元の名前のキーを使用して、一時ファイル名を dict に入れます。後ですべての画像がいくつかのサイズにリサイズされ、s3 ストレージに保存されます。問題は、ファイル名を除外してアップロードすると、dict のインスタンスが少なくとも 2 つあるため、最後に部分的な dict が取得されることです。任意のスレッドからそれらを更新するために辞書を保存する方法または場所を教えてください。ロックを使用してグローバルを試しました(グローバルはすべてのスレッドからアクセスできることをどこかで読んでください)-機能しません。

4

2 に答える 2

0

マルチアップローダーを介したファイルのアップロードがそのアーキテクチャに関してどのように機能するかについての詳細は、質問に非常に役立ちます。

ただし、IMO は、Python/Django で Web アプリケーションを実行する場合、常にグローバルデータ構造を避ける必要があります。なんで?

Djangofcgiおよび同様のセットアップは、エンド Web サーバー (通常は Apache/Nginx) にサービスを提供する複数のプロセスで実行することを意図しており、これらのプロセス間でデータを安全かつ一貫して共有する方法を知りません。IMOアーキテクチャはこの目的には適していませんが、並行して作業を行う(リクエストを満たす)ように構築されています。

于 2012-10-06T13:55:03.050 に答える
0

Redisを使用しました。スレッドセーフです。

于 2012-10-14T15:39:27.887 に答える