2011-08-16 12 views
0

Amazon Webサービスで2つのハンドラがあります。私は両方のグローバル変数を使用していくつかのデータを共有したいと思います。ここでは、ある値をフェッチして、それをグローバル変数に置くときに、soという別のハンドラがグローバル変数に設定されているものと同じ値を使用できますが、別のハンドラでデフォルト値を与えています。それ以外のものでは、それはデフォルト値を与えているものと同じではありません。もう1つの問題は同じコードがwebfactionalで完璧に走っていますが、AWSでは同じコードが実行されていないことです。 Plsは私が何をしなければならないか、事前に感謝します。ここではMAのコードは次のとおりです。それが適切indendedされる実物でAmazon Webサービスでグローバル変数が機能しない

ipid_global = 0 
uhid_global = 0 

def patient_search: 

    global ipid_global 
    global uhid_global 

    patient = PatientInfo.objects.get(ip_id__iexact=ip_id) 
    dis_advice = PatientAdvice.objects.get(ip_id__iexact=ip_id) 

    ipid_global = int(patient.ip_id) 
    uhid_global = str(patient.uh_id) 



def patient(request): 

     global ipid_global 
     global uhid_global 

     ip_id = ipid_global 
     uh_id = uhid_global 

     return HttpResponse(ipid_global) 
...
+1

常に同じ問題:3行目にバグがあります。 –

+0

@ daniel-rosemanどのようなバグですか? –

+0

それは冗談だった。あなたが私たちに何も表示していない場合、あなたのコードをどのようにデバッグするのですか? –

答えて

1

はこれを行うことはありません。

生産時に、Django(これはDjangoと思われますが、そうは言っていませんが、タグに追加しました)はマルチプロセス環境で動作します。各プロセスには、グローバル変数の独自のコピーがあります。 は、後続の要求が同じプロセスによって処理されることを保証するものではありません。

リクエスト間の状態を維持する必要がある場合は、セッションで保存するか、URLパラメータとして明示的に渡します。

+0

まずはお返事ありがとうございます、request.session ['ip_id'] = で完了しました –

関連する問題