Hi all, the new async stack has been finally committed.
Nothing has changed from the "programmer" perspective, so you should migrate
easily from 0.9.6 to 0.9.7.
The new stack has no more O(n) part and allows waiting for more fds:
uwsgi.wait_fd_read(4)
uwsgi.wait_fd_read(5)
uwsgi.wait_fd_read(6)
uwsgi.wait_fd_read(7)
yield ""
if env['x-wsgiorg.fdevent.timeout']:
print "timed out"
else:
print "fd %d ready" % env['uwsgi.ready_fd']
All the timeout handling has been moved to rb_timers
and suspend/resume system has been merged with async stack
to allow fast development of new solutions.
Thanks to this new system, uGreen is now less than 80 lines of code, and
support for python greenlet has been added in only 50 lines (!!!).
You can migrate from ugreen to greenlet or from greenlet to ugreen without
modifying
your code. (and i hope to port ruby-fiber to this new system for 0.9.7.1)
uwsgi.suspend()
Will call the selected plugin
uGreen is compiled in by default, greenlet can be compiled as a plugin
python uwsgiconfig.py --plugin plugins/greenlet
or added in buildconf/default.ini
Thanks for testing
--
Roberto De Ioris
http://unbit.it
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi