Hi Does anyone know if the 2.0.5 windows release of Plone includes ZEO? Is there any configuration information on this? Also does Zope 2.8 for linux have ZEO as standard. Finally, if you don't run ZEO does this mean that Zope can only handle one request at a time? Thanks
michael nt milne wrote:
Hi Does anyone know if the 2.0.5 windows release of Plone includes ZEO?
Ask on a Plone list.
Is there any configuration information on this?
Dunno what you mean.
Also does Zope 2.8 for linux have ZEO as standard.
Yes.
Finally, if you don't run ZEO does this mean that Zope can only handle one request at a time?
No. Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
michael nt milne wrote at 2005-8-24 11:52 +0100:
Does anyone know if the 2.0.5 windows release of Plone includes ZEO?
Do you have installed it? Then see whether the "Zope" part contains the folder "ZEO" (usually in "lib/python"). If it does, then it contains "ZEO".
Also does Zope 2.8 for linux have ZEO as standard.
Yes, I think so. Again: install and check whether the "ZEO" part is there.
Finally, if you don't run ZEO does this mean that Zope can only handle one request at a time?
No. It only does mean that a single process can access your ZODB data. A standard Zope process has 4 worker threads that can execute requests in parallel. Note, however, that even when you run on a multi-processor maschine, the various Python threads may not be able to truely run in parallel (a single process allows only a single thread to execute Python code; other threads may wait on something external or execute non Python (e.g. C) code, but they cannot execute Python code truely in parallel). -- Dieter
Can I contribute a small TabindexIterator class for ZTUtils. It is not big, but handy for generating tabindex values in a site. The current Iterator class available was not meant to do this but this is. I think this could be added to Iterators.py It seems better to incorporate something like this in ZTUtils than making a site tool to do this. It only provides one method next() and takes a sequence. If you want your tabindex to start at 500 and go no further than 599, you just give it range(500,600) and stops iterating. For for 0 to n - just use range(n). It could always pass after iteration stops but I think it is better to raise exception so you can modify your sequence, if necessary. class TabindexIterator: """ Tabindex iterator class """ __allow_access_to_unprotected_subobjects__ = 1 def __init__(self, seq): self.iter = seq.__iter__() def next(self): try: next = self.iter.next() return next except StopIteration: raise 'Tabindex iterator exhausted.' Regards, David
participants (5)
-
Chris Withers -
David Pratt -
Dieter Maurer -
michael nt milne -
Tim Peters