-----BEGIN PGP SIGNED MESSAGE-----
Tim Stebbing wrote:
> I've recently ran into a bit of a problem attempting to use threads in
> zope 3.2.1, hooks.getSite() returns None, and any attempt to get a
> utility results in a component lookup error within my threads.
> I've attempted to pass a site into a thread and set it with
> hooks.setSite() but this is apparently not the way to go, I get the
> feeling that a thread that needs access to things form the database
> probably needs its own connection, context etc.
Your worker thread almost certainly needs its own database
connection(s): applicaiton code typically relies on the isolation
provided by connection-per-thread, which means that it is not "safe" in
general to share persistent objects between threads.
Assuming that you do grab a connection and get its root object, you
should then be able to traverse to your friendly local site manager,
calling 'setSite' at *each* parent site manager you pass along the way.
> I'm aware of ITask's but unsure if developers are supposed to use them
> for their own purposes? Do these handle setting up of contexts like
> db, site, global utils etc? I've googled around a fair bit and been
> over all the z3 doco, it would be great if there was a simple howto on
> setting up a thread that would have the usual access to various
Tres Seaver +1 540-429-0999 [EMAIL PROTECTED]
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Zope3-dev mailing list