Le 10/07/2011 22:35, Robert Collins a écrit :
> On Mon, Jul 11, 2011 at 4:24 AM, Jonathan Lange <j...@mumak.net> wrote:
>> On Wed, Jul 6, 2011 at 3:08 AM, Martin Pool <m...@canonical.com> wrote:
>> ...
>>>  * configuration of the address of service endpoints
>>>  * mapping errors into something clean, so application code doesn't
>>> have to deal with socket.error (which is fairly cryptic in Python)
>>>
>>> A lot of this is somewhat deployment specific and I don't think any
>>> standard protocol client handles it.
>>
>> These two come for free with Twisted.
> 
> However running twisted in a zope application server stack is at best
> complex and not well understood.
> 
> .... which is why I want N clients for each microservice: a client
> thats zope friendly, a client thats twisted friendly, a client thats
> go friendly etc.
> 
> Possibly even a client that is plain old python friendly for doing up
> nagios checks and the like.

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.
 * 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.

I'd be happy to help if it's not clear.

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