Le 11/07/2011 01:24, Robert Collins a écrit : > On Mon, Jul 11, 2011 at 8:58 AM, Thomas Hervé > <thomas.he...@canonical.com> wrote: >> Not arguing with those last points, I just wanted to point out that >> using Twisted with a Zope server is not that hard. There are 2 cases: >> * You're already using Twisted as WSGI container. In which case, you >> are already running Twisted, so it's "just" a matter of being careful >> when you're making from from threads. blockingCallFromThread is really >> useful for that. > > We have that turned off due to instability.
I'd be interested to know the problems. >> * You're using another container. In this case, you can use a dedicated >> thread for running Twisted. There are a couple of pitfalls (not install >> the signal handlers, thus not starting processes with Twisted), but >> otherwise it works fine. blockingCallFromThread still works as a bonus. > > The container we're using is zope itself. The security model is thread > based, twisted is not. This leads to a range of terrible side effects > - from silent security vulnerabilities to attribute access failing for > undiagnosable reasons. > > Your points about how one *in general* might integrate twisted are > reasonable, but *zope* specifically plus *twisted* are specifically > considerably harder to work well reliably together. It seems to be you're talking about integrating a threaded application with Twisted, and there is not much specific to Zope here. Indeed, you should make sure you only send stateless objects to the Twisted thread. It's a problem which can happen with Storm as well for example. Granted, it's a problem. -- Thomas _______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : launchpad-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp