Hi. I know there must be a few folks that would like to easily add other clients or servers to zope (at or after bootstrapping) and have control over the services with the running reactor :-) A simple api for accessing the multiservice after bootstrapping would make zope more accessible to twisted development.

Has anyone got any ideas on incorporating this. I have made a suggestion but hoping for input and other ideas to make this happen.


The ZopeService class subclasses service.Multiservice. The Multiservice itself provides methods from twisted for adding, disowning, starting or stopping services or iterating over the services in the multiservice. I am hoping we can can come up with a good way to make this object accessible within zope. Many thanks.

Regards,
David


David Pratt wrote:
I am wondering if as part of bootstrapping zope, that a utility could not be set up in the site manager that could hang on the zope multiservice object. Methods available for the utility could allow you access to this after booting zope. Is this reasonable? Many thanks.

Regards,
David


David Pratt wrote:
Hi Martijn. Many thanks for your reply. I was not aware of your project so it is quite nice to see. I am hoping to try it out. :-)

At zope's startup, a multiservice is started that currently adds the servers setup in the zope.conf. I have created configuration for additional clients and servers to use the existing thread pool and currently adding them to the multiservice using a modified main.py By having access to the multiservice object, you have complete control of each service in the app as well as the ability to incorporate other services to an already running reactor. Interaction within the app using multiple reactors is not safe - so access to this object allows you to add, remove, start or stop services.

I also want the configuration to be explicit - so to using zconfig and recipes. Overall, I am integrating apps into buildouts as well. It is useful to be explicit here too since your configuration will otherwise be in a single egg somewhere. This could make it awkward to run multiple servers performing the same task on a machine, which is the pattern I am working with.

Regards,
David



Martijn Pieters wrote:
On 5/3/07, David Pratt <[EMAIL PROTECTED]> wrote:
Hi. I'm really wanting to do more with twisted in zope. One thing that
would make this much easier is to have a means of getting hold of the
twisted multiservice following startup as opposed to using a different
main.py (as I have been) to allow the other services to be added,
started or stopped at, or any time following startup.

I am not sure what you are looking for, but I have no trouble starting
additional services after Zope startup. See my Wing IDE integration
for Zope3, for example;

 http://trac.zopatista.com/zopatista/browser/z3wingdbg/trunk/

It starts additional services, such as a single-threaded HTTP debug
server on a separate port, either at Zope start or later as the user
requests.

_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/fairwinds%40eastlink.ca


_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to