コルーチンの操作を始めたばかりで、geventとgreenletsについて読みました。テストのために、私はgeventspywsgiモジュールを介してこのコードを提供しました。
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()の呼び出しでキューに入れられ、最初のリクエストの直後に開始された場合、2番目のリクエストは約10秒かかります。
serve_forever関数は、リクエストごとに新しいグリーンレットを生成しませんか?