[Zope] XML-RPC within ZOPE
Dieter Maurer
dieter at handshake.de
Thu Dec 15 11:25:58 EST 2005
Jan-Ole Esleben wrote at 2005-12-11 19:10 +0100:
>Is it at all impossible to use XML-RPC _within_ a ZOPE architecture?
In principle yes.
Be careful however: it is easy to introduce deadlocks!
When during request processing you call back into the same
Zope via XML-RPC, the calling out request will not complete
until the XML-RPC returns a result (this always holds for
calls, XML-RPC or other, to an external or internal server).
Zope has a limited amount of workers (the default is 4) able
to execute requests. If there are no free workers, requests
have to wait for one.
Now imagine that as many requests arrive as there are workers
and each of them wants to perform an XML-RPC against the
same Zope. Then you have a deadlock: none of the XML-RPC requests
will finish, because there are no free workers. An no worker
will ever become free again, because each of them waits for
its XML-RPC to finish.
Therefore, you should directly call internal resources (rather
than use XML-RPC).
--
Dieter
More information about the Zope
mailing list