Hi Arnon, On Wed, Apr 24, 2013 at 1:13 PM, Arnon Marcus <a.m.mar...@gmail.com> wrote: > First of all, by "architecture" I was referring to the server-side, not the > client-side.
the demo chat was running with: $ cd <web2py_folder> $ nohup python anyserver.pt -s gevent was running with gevent httpserver, no tornado involved in anything. > Secondly, when I asked "how do you combine gevent and tornado", I was > referring to your statements: > > "web2py app based on tornado long polling chat example." > The only requirement is to run it with gevent." > > This implies that you "are" using both, so I wondered how exactly. It's based in concept not in implementation. > Furthermore: > I think you are conflating the concepts of "synchronous vs. asynchronous" > with the concepts of "blocking-IO vs. non-blocking IO". > I think you are also conflating the concepts of "threading" with the concept > of "concurrency". > > "synchronous vs. asynchronous" - Is about code-structure. > "blocking-IO vs. non-blocking IO" - is about performance and > "semi-concurrency" capabilities. Those are subjective and context dependent terms that overlap. I see them more like this: blocking vs non-blocking synchronous vs non-blocking asynchronous > So unless Tornado is doing something that nobody is aware of, it IS using > threads to implement a non-blocking-co-routine-IO-event-loop. Can you show me some example or point me to the source code of tornado where this is been done? I'm curious. > Back to the issue - you said that your solution is using Tornado, and > "requires" gevent - how so? It's not my solution :) it's just the tornado webchat example "ported" to web2py running on top of gevent, in fact I take the botlle webchat example that was based (in concepts) on tornado one, and I only adapted to web2py as an example. Ricardo -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.