"Ben Sizer" <[EMAIL PROTECTED]> writes:

> You were probably clear, but I don't know much about the detail of
> database transactions and so on. But even if I drop down to the
> database level and make the update directly, can I be sure that the
> correct values propagated up to SQLObject in the other threads?

In a standard TG application, the way it is designed in 1.0+ you should be
safe on every exposed method.  It starts a transaction that reads data from
the DB.

I believe that the only way you'll guarantee that it works for you is writing
a small test case.  One thread modifies data and the other reads it.

> This all worries me... threads are surely a pretty fundamental part of
> many long-running process models, yet nobody except yourself is able to
> tell me what is safe and what is not. I at least need to know what sort
> of exceptions I need to be able to catch and which circumstances they
> may arise in, and which objects in the Turbogears system I can pass
> between Python threads and those which I can't.

Hmmm...  Due to the nature of web applications -- several concurrent accesses
-- much of TG is thread safe.  In fact there's even some code to prevent that
a developer do some unsafe operations. 

It isn't hard testing under TG so you can check complex things as you need. 

-- 
Jorge Godoy      <[EMAIL PROTECTED]>

--~--~---------~--~----~------------~-------~--~----~
 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