On Mon, 18 Feb 2008 05:27:41 -0800 (PST), est <[EMAIL PROTECTED]> wrote: >On Feb 18, 7:05 pm, est <[EMAIL PROTECTED]> wrote: >> I am writing a small 'comet'-like app using flup, something like this: >> >> def myapp(environ, start_response): >> start_response('200 OK', [('Content-Type', 'text/plain')]) >> return ['Flup works!\n'] <-------------Could this be part >> of response output? Could I time.sleep() for a while then write other >> outputs? >> >> if __name__ == '__main__': >> from flup.server.fcgi import WSGIServer >> WSGIServer(myapp, multiplexed=True, bindAddress=('0.0.0.0', >> 8888)).run() >> >> So is WSGI really synchronous? How can I handle asynchronous outputs >> with flup/WSGI ? > >figured out myself :blush: :blush: > >def demo_app(environ,start_response): > from StringIO import StringIO > stdout = StringIO() > print >>stdout, "Hello world!" > print >>stdout > h = environ.items(); h.sort() > for k,v in h: > print >>stdout, k,'=',`v` > k=start_response("200 OK", [('Content-Type','text/plain')]) > for x in range(1, 100): > k(str(x)) > time.sleep(1) > return [stdout.getvalue()]
You can do this, but notice that you use up a thread (or a process) for each client by doing so. This means you'll be limited to a fairly small number of concurrent clients. Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list