On Sat, Dec 17, 2011 at 09:57:18PM -0500, Chris McDonough wrote: > Is zope.server still largely used by e.g. bluebream, grok, and other > zope 3 apps? Or do people tend to use other WSGI servers instead? > Either way, arguments for or against zope.server would be useful; I'm > trying to decide whether to base some new stuff on it.
We still use zope.server in production, mostly out of inertia (the app had been using Zope 3.2, then the 3.4 KGS for a looong time, before finally making the climb to ZTK 1.0). These are not high-volume sites. It surprises me occasionally with weird assertion errors of this kind: 2011-11-01T18:00:11 ERROR zope.server.taskthreads Exception during task Traceback (most recent call last): File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/taskthreads.py", line 49, in handlerThread task.service() File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/serverchannelbase.py", line 205, in service task.service() File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/http/httptask.py", line 69, in service self.channel.server.executeRequest(self) File "/apps/zopes/app-name/eggs/zc.zservertracelog-1.3.0-py2.6.egg/zc/zservertracelog/tracelog.py", line 145, in executeRequest task.write(response) File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/http/httptask.py", line 241, in write self.bytes_written += channel.write(data) File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/dualmodechannel.py", line 168, in write if not self._flush_some(): File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/dualmodechannel.py", line 185, in _flush_some num_sent = self.send(chunk) File "/usr/lib/python2.6/asyncore.py", line 358, in send self.handle_close() File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/dualmodechannel.py", line 59, in handle_close self.close() File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/dualmodechannel.py", line 206, in close assert self.async_mode AssertionError I haven't noticed any harm from this (the server keeps on serving other requests, clients do not see any error pages), but I'd like to know what it *means*. I thought I asked this list once, but received no reply -- but now I can't even find my question, so maybe I only planned to ask and never got around to it... This error happened once in 2010 and 24 more times in 2011. The other fun error I get (rather more often) is 2011-11-28T14:21:58 ERROR zope.server.taskthreads Exception during task Traceback (most recent call last): File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/taskthreads.py", line 49, in handlerThread task.service() File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/serverchannelbase.py", line 205, in service task.service() File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/http/httptask.py", line 77, in service self.channel.close_when_done() File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/dualmodechannel.py", line 193, in close_when_done while self._flush_some(): File "/apps/zopes/app-name/eggs/zope.server-3.6.2-py2.6.egg/zope/server/dualmodechannel.py", line 185, in _flush_some num_sent = self.send(chunk) File "/usr/lib/python2.6/asyncore.py", line 352, in send result = self.socket.send(data) error: [Errno 32] Broken pipe I suspect I know what this is (we do a redirect in self.update() but self.__call__() has no check for that and renders the template anyway, but the browser sees the redirect and closes the connection without reading the entire response body). I haven't actually proven that to my satisfaction, but, once again, there do not seem to be any harmful consequences (other than mildly annoying me with these rather rare error emails). I wish zope.server at least would let me know which request (method and URL) was responsible for the particular task (a __traceback_info__ annotation would make it into our error emails). Some day I might make that happen. Marius Gedminas -- http://pov.lt/ -- Zope 3/BlueBream consulting and development
signature.asc
Description: Digital signature
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )