[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