[Checkins] SVN: zc.z3monitor/trunk/ add a try:except so zopectl debug can work; switch to using the old CHANGES that I somehow had missed, with ReST changes to make the setup.py combination work more easily; prepare for 0.5 release

Gary Poster gary at zope.com
Fri Apr 4 11:52:03 EDT 2008


Log message for revision 85103:
  add a try:except so zopectl debug can work; switch to using the old CHANGES that I somehow had missed, with ReST changes to make the setup.py combination work more easily; prepare for 0.5 release

Changed:
  U   zc.z3monitor/trunk/CHANGES.txt
  U   zc.z3monitor/trunk/setup.py
  U   zc.z3monitor/trunk/src/zc/z3monitor/CHANGES.txt
  U   zc.z3monitor/trunk/src/zc/z3monitor/README.txt
  U   zc.z3monitor/trunk/src/zc/z3monitor/__init__.py

-=-
Modified: zc.z3monitor/trunk/CHANGES.txt
===================================================================
--- zc.z3monitor/trunk/CHANGES.txt	2008-04-04 12:06:35 UTC (rev 85102)
+++ zc.z3monitor/trunk/CHANGES.txt	2008-04-04 15:52:03 UTC (rev 85103)
@@ -1,30 +1 @@
-0.4.1 (2008-3-31)
------------------
-
-Initial release to PyPI
-
-* added zope.app.appsetup to dependencies, based on failing tests
-
-* added comment that monitor examples currently fail on systems without procfs
-
-* tweaked setup.py for PyPI release
-
-0.4 (not publically released)
------------------------------
-
-changes not documented
-
-0.3 (not publically released)
------------------------------
-
-changes not documented
-
-0.2 (released to download.zope.org)
------------------------------------
-
-changes not documented
-
-0.1 (released to download.zope.org)
------------------------------------
-
-changes not documented
+See CHANGES.txt in package.

Modified: zc.z3monitor/trunk/setup.py
===================================================================
--- zc.z3monitor/trunk/setup.py	2008-04-04 12:06:35 UTC (rev 85102)
+++ zc.z3monitor/trunk/setup.py	2008-04-04 15:52:03 UTC (rev 85103)
@@ -3,12 +3,12 @@
 name = 'zc.z3monitor'
 
 long_description = (open('src/zc/z3monitor/README.txt').read() +
-                    "\n\nCHANGES\n=======\n\n" +
-                    open('CHANGES.txt').read())
+                    "\n\n" +
+                    open('src/zc/z3monitor/CHANGES.txt').read())
 
 setup(
     name = name,
-    version = '0.4.1',
+    version = '0.5',
     author = 'Jim Fulton',
     author_email = 'jim at zope.com',
     license = 'ZPL 2.1',

Modified: zc.z3monitor/trunk/src/zc/z3monitor/CHANGES.txt
===================================================================
--- zc.z3monitor/trunk/src/zc/z3monitor/CHANGES.txt	2008-04-04 12:06:35 UTC (rev 85102)
+++ zc.z3monitor/trunk/src/zc/z3monitor/CHANGES.txt	2008-04-04 15:52:03 UTC (rev 85103)
@@ -1,13 +1,41 @@
+==============
 Change History
-**************
+==============
 
+0.5 (2008-4-4)
+==============
+
+Features
+--------
+
+* If the requested monitor port is in use, log and move on, rather than
+  stopping the process with an exception.  This lets ``zopectl debug``
+  work with a running instance.
+
+0.4.1 (2008-3-31)
+=================
+
+Initial release to PyPI
+
+Bug Fixes
+---------
+
+* added zope.app.appsetup to dependencies, based on failing tests
+
+Other
+-----
+
+* added comment that monitor examples currently fail on systems without procfs
+
+* tweaked setup.py for PyPI release
+
 0.4.0 (2007-11-29)
 ==================
 
 New Features
 ------------
 
-Moved ZEO cache status to the zeostatus command.
+* Moved ZEO cache status to the zeostatus command.
 
 0.3.0 (2007-11-29)
 ==================
@@ -15,12 +43,12 @@
 New Features
 ------------
 
-Commands are now provided as utilities.  This means that z3monitor
-commands can be added by simply implementing simple utilities.
+* Commands are now provided as utilities.  This means that z3monitor
+  commands can be added by simply implementing simple utilities.
 
-Added a working help command.
+* Added a working help command.
 
-Added ZEO connection status to the zeocache output.
+* Added ZEO connection status to the zeocache output.
 
 0.2.0 (2007-11-15)
 ==================
@@ -28,4 +56,4 @@
 New Features
 ------------
 
-Added a command to get ZEO cache statistics.
+* Added a command to get ZEO cache statistics.

Modified: zc.z3monitor/trunk/src/zc/z3monitor/README.txt
===================================================================
--- zc.z3monitor/trunk/src/zc/z3monitor/README.txt	2008-04-04 12:06:35 UTC (rev 85102)
+++ zc.z3monitor/trunk/src/zc/z3monitor/README.txt	2008-04-04 15:52:03 UTC (rev 85103)
@@ -1,3 +1,4 @@
+=====================
 Zope 3 Monitor Server
 =====================
 
@@ -110,7 +111,7 @@
     >>> other.setActivityMonitor(ZODB.ActivityMonitor.ActivityMonitor())
 
 Process Information
--------------------
+===================
 
 To get information about the process overall, use the monitor
 command:
@@ -176,7 +177,7 @@
     >>> conn2.close()
 
 Database Information
---------------------
+====================
 
 To get information about a database, use the dbinfo command:
 
@@ -251,7 +252,7 @@
     -> CLOSE
 
 ZEO cache statistics
---------------------
+====================
 
 You can get ZEO cache statistics using the zeocache command.
 
@@ -288,7 +289,7 @@
     -> CLOSE
 
 ZEO Cache status
-----------------
+================
 
 The zeostatus command lets you get information about ZEO connection status:
 

Modified: zc.z3monitor/trunk/src/zc/z3monitor/__init__.py
===================================================================
--- zc.z3monitor/trunk/src/zc/z3monitor/__init__.py	2008-04-04 12:06:35 UTC (rev 85102)
+++ zc.z3monitor/trunk/src/zc/z3monitor/__init__.py	2008-04-04 15:52:03 UTC (rev 85103)
@@ -14,7 +14,7 @@
 """Zope 3 Monitor Server
 """
 
-import os, re, time, traceback
+import errno, logging, os, re, time, traceback, socket
 
 import ZODB.ActivityMonitor
 import ZODB.interfaces
@@ -221,7 +221,18 @@
 
     port = int(config['port'])
     import zc.ngi.async
-    zc.ngi.async.listener(('', port), Server)
+    try:
+        zc.ngi.async.listener(('', port), Server)
+    except socket.error, e:
+        if e.args[0] == errno.EADDRINUSE:
+            # this might be a zopectl debug.  Don't kill the process just
+            # because somebody else has our port.
+            logging.warning(
+                'unable to start z3monitor server because port %d is in use.',
+                port)
+        else:
+            raise
+        
 
 @zope.component.adapter(
     zope.traversing.interfaces.IContainmentRoot,



More information about the Checkins mailing list