DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

код, который не демонстрирует ожидавшегося асинхронного поведения

06.25.2011
| 3226 views |
  • submit to reddit
        // согласно информации отсюда: http://bottlepy.org/docs/dev/async.html, ожидалось, что данный код будет демонстрировать асинчхронное поведение, что оказалось не правдой. UPDATE: проблема решена. Дело в том, что "Some browsers buffer a certain amount of data before they start rendering a page. You might need to yield more than a few bytes to see an effect in these browsers."

from gevent.pywsgi import WSGIServer
import gevent
from gevent import monkey; monkey.patch_all()

def hello_world(env, start_response):
    #import ipdb; ipdb.set_trace()
    if env['PATH_INFO'] == '/':
        start_response('200 OK', [('Content-Type', 'text/html')])
        yield 'qwerty'
        gevent.sleep(5)
        yield "<b>hello world</b>"
    else:
        start_response('404 Not Found', [('Content-Type', 'text/html')])
        yield '<h1>Not Found</h1>'

print 'Serving on 8088...'
WSGIServer(('', 8088), hello_world).serve_forever()