[Checkins] SVN: Sandbox/J1m/resumelb/ Added support for running back-door servers for debugging, *not*

Jim Fulton jim at zope.com
Sun Feb 26 18:22:00 UTC 2012


Log message for revision 124480:
  Added support for running back-door servers for debugging, *not*
  monitoring.
  

Changed:
  U   Sandbox/J1m/resumelb/buildout.cfg
  U   Sandbox/J1m/resumelb/src/zc/resumelb/zk.py
  U   Sandbox/J1m/resumelb/src/zc/resumelb/zk.test

-=-
Modified: Sandbox/J1m/resumelb/buildout.cfg
===================================================================
--- Sandbox/J1m/resumelb/buildout.cfg	2012-02-26 17:11:41 UTC (rev 124479)
+++ Sandbox/J1m/resumelb/buildout.cfg	2012-02-26 18:22:00 UTC (rev 124480)
@@ -30,7 +30,7 @@
 [lb]
 recipe = zc.zdaemonrecipe
 path = ${zookeeper:effective-path}/lb
-program = ${buildout:bin-directory}/zkresumelb ${zookeeper:zookeeper} ${:path} 
+program = ${buildout:bin-directory}/zkresumelb -d ${zookeeper:zookeeper} ${:path} 
 
 [worker.ini]
 recipe = zc.recipe.deployment:configuration
@@ -45,6 +45,7 @@
   path = ${lb:path}/workers
   threads = 1
   tracelog = tracelog
+  backdoor = true
 
 [worker]
 recipe = zc.zdaemonrecipe

Modified: Sandbox/J1m/resumelb/src/zc/resumelb/zk.py
===================================================================
--- Sandbox/J1m/resumelb/src/zc/resumelb/zk.py	2012-02-26 17:11:41 UTC (rev 124479)
+++ Sandbox/J1m/resumelb/src/zc/resumelb/zk.py	2012-02-26 18:22:00 UTC (rev 124480)
@@ -22,7 +22,7 @@
 import zc.zk
 
 def worker(app, global_conf, zookeeper, path, loggers=None, address=':0',
-           threads=None, run=True, **kw):
+           threads=None, backdoor=False, run=True, **kw):
     """Paste deploy server runner
     """
     if loggers:
@@ -42,7 +42,15 @@
     watcher.start(lambda : worker.update_settings(settings))
     settings(lambda _: watcher.send())
 
-    zk.register_server(path+'/providers', worker.addr)
+    registration_data = {}
+    if backdoor == 'true':
+        from gevent import backdoor
+        bd = backdoor.BackdoorServer(('127.0.0.1', 0), locals())
+        bd.start()
+        registration_data['backdoor'] = '127.0.0.1:%s' % bd.server_port
+        worker.__bd = bd
+
+    zk.register_server(path+'/providers', worker.addr, **registration_data)
     worker.zk = zk
     worker.__zksettings = settings
 
@@ -81,6 +89,9 @@
         '-b', '--backlog', type='int',
         help="Server backlog setting.")
     parser.add_option(
+        '-d', '--backdoor', action='store_true',
+        help="Run a backdoor server. Use with caution!")
+    parser.add_option(
         '-m', '--max-connections', type='int',
         help="Maximum number of simultanious accepted connections.")
     parser.add_option(
@@ -167,8 +178,17 @@
         addr, lb.handle_wsgi, backlog = options.backlog,
         spawn = spawn, log = accesslog)
     server.start()
-    zk.register_server(path+'/providers', (addr[0], server.server_port))
 
+    registration_data = {}
+    if options.backdoor:
+        from gevent import backdoor
+        bd = backdoor.BackdoorServer(('127.0.0.1', 0), locals())
+        bd.start()
+        registration_data['backdoor'] = '127.0.0.1:%s' % bd.server_port
+
+    zk.register_server(path+'/providers', (addr[0], server.server_port),
+                       **registration_data)
+
     if run:
         try:
             server.serve_forever()

Modified: Sandbox/J1m/resumelb/src/zc/resumelb/zk.test
===================================================================
--- Sandbox/J1m/resumelb/src/zc/resumelb/zk.test	2012-02-26 17:11:41 UTC (rev 124479)
+++ Sandbox/J1m/resumelb/src/zc/resumelb/zk.test	2012-02-26 18:22:00 UTC (rev 124480)
@@ -115,6 +115,7 @@
                             standard output.
       -b BACKLOG, --backlog=BACKLOG
                             Server backlog setting.
+      -d, --backdoor        Run a backdoor server. Use with caution!
       -m MAX_CONNECTIONS, --max-connections=MAX_CONNECTIONS
                             Maximum number of simultanious accepted
                             connections.



More information about the checkins mailing list