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

Reply via email to