방금 coroutines 작업을 시작했으며 gevent 및 greenlets에 대해 읽었습니다. 테스트를 위해 나는 gevents의 pywsgi 모듈을 통해이 코드를 역임 :Gevent 및 WSGI로 통화 차단
from gevent.pywsgi import WSGIServer
import gevent
def hello_world(env, start_response):
gevent.sleep(5)
start_response('200 OK', [('Content-Type', 'text/html')])
return ["<b>hello world</b>"]
print 'Serving on 8088...'
WSGIServer(('127.0.0.1', 8888), hello_world).serve_forever()
내가 텍스트가 표시되기 전에 모든 요청은 5 초 지연을 얻을 것입니다 결과를 기대했다. 그러나 발생하는 모든 요청은 gevent.sleep() 호출로 대기열에 추가됩니다. gevent.sleep()은 두 번째 요청이 첫 번째 요청 직후에 시작된 경우 거의 10 초가 걸리게합니다.
serve_forever 함수가 모든 요청에 대해 새 녹색 글을 생성하지 않습니까?