Python WSGI程序不能同时工作

时间:2014-11-26 02:42:09

标签: python multithreading api wsgi uwsgi

我正在使用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

0 个答案:

没有答案