[ZODB-Dev] Zope Xron with ZEO?

Loren Stafford lstafford@morphics.com
Wed, 11 Apr 2001 15:19:22 -0700


Thanks. I think you've got me pointed in the right direction on this issue.

Actually, since Xron depends on a Threading.Event as the coordinating medium
for updates to the Schedule by Scheduled Methods and the Dispatcher, I think
a simple new product, which might be called "ZEOEvent", is in order. It
would be based on Threading.Event, and would present a similar interface.
But, there would be an event data structure stored in ZODB, so that all
Clients could see it. The event data structure would store the URL of the
event server. All requests for methods of the event would be send as HTTP
requests to the event server.

Does that make sense?

-- Loren


> -----Original Message-----
> From: zodb-dev-admin@zope.org [mailto:zodb-dev-admin@zope.org]On Behalf
> Of Jim Fulton
> Sent: Friday, April 06, 2001 09:11
> To: Michel Pelletier
> Cc: Loren Stafford; zodb-dev@zope.org
> Subject: Re: [ZODB-Dev] Zope Xron with ZEO?
>
>
> Michel Pelletier wrote:
> >
> (snip)
> > > I think you only want one Dispatcher thread in the whole ZEO system.
> >
> > I think you only want one Dispatcher ZEO client dedicated to being Xron.
> > You don't even need threads any more.  In fact, it doesn't even need to
> > run Zope, it just needs to interface ZEO with a ClientStorage, but you
> > probably want the rest of Zope around, of course, so that you
> know what a
> > Catalog is, for example.
>
> You need the Zope application classes, but you don't need
> ZServer, or a web server.
>
>
> > I'd probably run zope, but the idea of removing
> > threading issues is apealing.  The idea in the first place was that you
> > wanted a thread to run in the background while the rest served
> your site,
> > but now you have a bunch of other ZEO clients to do the site serving for
> > you.
>
> Right.
>
> > > I read that you can control product initialization to some
> degree thru the
> > > existence of the environment variable ZEO_CLIENT. But I can't
> think how to
> > > control initialization of specific products.
> >
> > You're product would have to opt-out based on the existence of
> ZEO_CLIENT.
> > You can do this in your product's __init__ module.  Just test for
> > ZEO_CLIENT and return without calling any of your init code.
>
> I wouldn't go there are all. As you suggested, you just need
> a dedicated process that's a ZEO client.
>
> > > Aha! Maybe the CS configuration shouldn't be identical. Maybe only one
> > > should have Xron installed, or maybe only one should have
> Xron installed in
> > > such a way that it is loaded at initialization time.
> >
> > The latter, probably.
>
> Nah, you don't want a regular Zope process at all. You want the
> scheduler to run in a dedicated process that doesn't deal with
> web requests.
>
> Jim
>
> --
> Jim Fulton           mailto:jim@digicool.com   Python Powered!
> Technical Director   (888) 344-4332            http://www.python.org
> Digital Creations    http://www.digicool.com   http://www.zope.org
>
> _______________________________________________
> Bug reports, feature requests, etc. go in the ZEO Tracker:
> http://www.zope.org/Products/ZEO/Tracker
>
> Conversations etc. can take place in the Wiki:
> http://www.zope.org/Products/ZEO/Wiki
>
> ZODB-Dev mailing list  -  ZODB-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zodb-dev
>