我正在使用Nginx + uWSGI + Python编写WebAPI程序,我遇到的问题是该程序无法同时运行。特别是,/ api1和/ api2是同时处理的,但是对于/ api1和/ api1,后者被阻塞,直到前者结束。任何信息将不胜感激。 这是一个简单的示例代码。
import time
def api1(start_response):
starttime = time.strftime("%H:%M:%S")
time.sleep(10)
endtime = time.strftime("%H:%M:%S")
start_response("200 OK", [("Content-type", "text/plain")])
return "api1: " + starttime + " - " + endtime
def api2(start_response):
starttime = time.strftime("%H:%M:%S")
time.sleep(10)
endtime = time.strftime("%H:%M:%S")
start_response("200 OK", [("Content-type", "text/plain")])
return "api2: " + starttime + " - " + endtime
def application(environ, start_response):
path = environ["PATH_INFO"]
if path == "/api1":
return api1(start_response)
elif path == "/api2":
return api2(start_response)
uWSGI以多进程/多线程参数启动。
[uwsgi]
processes = 3
threads = 3