Sorry I wasnt monitoring this thread. Didnt get a response right away
and thought no one had responded.

I also think that theoretically there really would be not much of a
change to using sqlalchemy (within pylons - pylons already creates a
scopedsession object for every web request anyhow) in a co-routine
framework such as gevent.

Once I get a chance I would try it out and update this thread
accordingly.

Thanks for your inputs guys.

On Jun 25, 5:33 pm, Yang Zhang <yanghates...@gmail.com> wrote:
> On Fri, Jun 25, 2010 at 6:41 AM, Michael Bayer <mike...@zzzcomputing.com> 
> wrote:
> > That's as deep as my thought goes on this and its all based on 
> > hypotheticals since I've never used twisted or greenlets or anything like 
> > that.    Sorry if I'm totally off on howgevent/greenlets work, the linked 
> > documents didn't really make it clear how they work for someone who isn't 
> > already familiar.
>
> That's completely fair, the docs leave a lot to be desired. Think of
> greenlets as an implementation of cooperative threading. In typical
> threading, threads can first of all run in parallel, and the threading
> is also preemptive, meaning context switches between threads can
> happen at any time. With greenlets, "threads" are run in a single real
> OS thread (no parallelism, only multiplexed concurrency), and context
> switches between threads happen only voluntarily.
>
> Why is this useful? Because then you can write non-blocking code in a
> blocking style. Non-blocking IO is useful for scalable systems
> development, but event-driven programming (a la twisted) tends to be
> more tedious and less natural than programming with blocking IO. Plus,
> most existing code is written against blocking IO, but event-driven
> programming makes those difficult to reuse.
>
> So to answer your first question of what things would look like in an
> asynchronous world: with cooperative threads like greenlets,
> everything would hopefully look identical. Embracing event-driven
> style would indeed spell out significant changes to both sqlalchemy
> and user code (and that's also not what I'm personally interested in
> using).
>
> Upon closer inspection, it seems that changes might not even be
> necessary for sqlalchemy, since one can globally set the asynchronous
> callback for psycopg to hook directly intogevent.
>
> http://bitbucket.org/dvarrazzo/psycogreen/src/tip/gevent/psyco_gevent.py
> --
> Yang Zhanghttp://yz.mit.edu/

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to