我在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)
在现实中,这是正确的。。。
千万不要这样做。你知道吗
在生产环境中,Django(我假设这是Django,尽管您没有这么说-我已经将其添加到标记中)在多进程环境中运行。每个进程都有自己的全局变量副本。无法确保后续请求由同一进程提供服务。你知道吗
如果需要在请求之间保持状态,请将其保存在会话中,或者将其显式地作为URL参数传递。你知道吗
相关问题 更多 >
编程相关推荐