全局变量在Amazon Web服务中不起作用

2024-10-02 22:30:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Amazon Web服务中有两个处理程序。我想在两者中共享一些数据,所以我使用了全局变量。其中一个用于获取某个值并将其放入全局变量,而另一个调用so is的处理程序可以使用在全局变量中设置的相同值,但它在另一个处理程序中提供默认值,我检查过它正在设置值,但在另一个处理程序中它没有提供相同的值,它正在提供默认值。还有一件事是相同的代码在web派系中运行得很完美,但相同的代码在AWS中并没有运行。请帮助我做什么,并提前感谢。ma代码如下:

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)
在现实中,这是正确的。。。

Tags: 代码ipid处理程序amazongetobjectsdef
1条回答
网友
1楼 · 发布于 2024-10-02 22:30:20

千万不要这样做。你知道吗

在生产环境中,Django(我假设这是Django,尽管您没有这么说-我已经将其添加到标记中)在多进程环境中运行。每个进程都有自己的全局变量副本。无法确保后续请求由同一进程提供服务。你知道吗

如果需要在请求之间保持状态,请将其保存在会话中,或者将其显式地作为URL参数传递。你知道吗

相关问题 更多 >