> About the session, by default TurboGears already provides a
> sessionmaker which will create one scoped_session for each thread that
> will try to use the DBSession object. The main issue is that TG
> patches the session to use a different transactions manager which runs
> inside the TG middleware stack by committing and reverting session
> whenever is necessary. When you use the session outside of a request
> anyway this middleware is not in place and so you will have to manage
> the session yourself. By default tgext.asyncjob implements a worker
> that behaves like TG, committing the session at the end of the async
> function and reverting it in case of an exception.

Your code has got me most of the way there.  Thank you.  I got caught
by the timed_querys and another unexpected gotcha.  I didn't realize
that you need to query your object within the transaction, or else it
will exist in a different session.  I would update the attributes and
commit, but the changes never showed up in the database.  It took me a
few hours at least to finally figure it out.  It was a good, but
painful learning experience.

I now have a working prototype with everything I need.  Now to go back
through and clean it up.  ugghhh

Thanks for your help.

~Sean

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to