为什么我的python服务器请求在尝试从redis store(在nginx openresty中)获取子请求时仍然处于不确定状态?

2024-10-01 09:25:16 发布

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

我正在使用srcache缓存从flask服务器到java服务器的请求

现在,当我尝试使用Postman或Jmeter向我的nginx发送请求时,或者从通过ngrok隧道路由的flask服务器发送请求时,似乎没有问题。第一个请求抛出一个缓存MISS,子请求有一个缓存HIT

但是,当我在localhost:5000上直接使用flask服务器时,请求仍在进行中,并且似乎永远不会解决,直到我执行openresty reload时,它抛出了一个内部服务器错误

有什么想法吗

这里是python服务器发出请求的地方

def json_output(text):
url = "http://localhost:8080/?properties={0}".format(ann)
payload = text

print "Payload",payload
r = requests.post(url, data=payload)

try:
    data = json.loads(r.text.decode("utf8"))
except Exception as e:
    data = {"sentences":[]}
return data

以下是openresty nginx上的缓存部分:

srcache_response_cache_control  off;
srcache_ignore_content_encoding  off;
set_escape_uri  $escaped_key $key;

srcache_fetch  GET /redis $key;

srcache_store  PUT /redis2 key=$key&exptime=60000;
srcache_methods GET POST;
srcache_fetch_skip $skip_fetch;

default_type  application/json;
proxy_pass  http://127.0.0.1:9001;

如果请求通过ngrok隧道路由,则相同的代码可以正常工作


Tags: keytext服务器jsonlocalhostflask路由data