-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Tim Stebbing wrote: > G'day, > > 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 > components. Tres. - -- =================================================================== 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 iD8DBQFGhQEG+gerLs4ltQ4RAh6EAJ9DzBW20NPz4tAE3BydJ789Vokx0wCg2qMp yBB8XemrjD7dXPwwwz4y9Yo= =+iwh -----END PGP SIGNATURE----- _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com