[CalendarServer-changes] [1411] CalendarServer/trunk/twistedcaldav/cluster.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 21 11:54:02 PDT 2007


Revision: 1411
          http://trac.macosforge.org/projects/calendarserver/changeset/1411
Author:   wsanchez at apple.com
Date:     2007-03-21 11:54:02 -0700 (Wed, 21 Mar 2007)

Log Message:
-----------
Revert r1405, which broke multiprocess.
(Passes -u to tap plugin and not twistd, which causes a usage error.)

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/cluster.py

Modified: CalendarServer/trunk/twistedcaldav/cluster.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/cluster.py	2007-03-21 17:49:29 UTC (rev 1410)
+++ CalendarServer/trunk/twistedcaldav/cluster.py	2007-03-21 18:54:02 UTC (rev 1411)
@@ -29,18 +29,18 @@
 from twistedcaldav.util import getNCPU
 
 serviceTemplate = """
-  <service name="%(name)s">
-    %(listeningInterfaces)s
-    <group name="main" scheduler="%(scheduler)s">
-      %(hosts)s
-    </group>
-    <enable group="main" />
-  </service>
+    <service name="%(name)s">
+        %(listeningInterfaces)s
+	<group name="main" scheduler="%(scheduler)s">
+	  %(hosts)s
+        </group>
+        <enable group="main" />
+    </service>
 """
 
 configTemplate = """
 <pdconfig>
-%(services)s
+    %(services)s
 </pdconfig>
 """
 
@@ -70,33 +70,20 @@
     def getSSLName(self):
         return '%s-%s' % (self.prefix, self.sslPort)
 
-    def getSafeName(self):
-        if self.port:
-            return '%s-%s' % (self.prefix, self.port)
-        elif self.sslPort:
-            return '%s-%s' % (self.prefix, self.sslPort)
-        else:
-            return None
-
     def getCommandLine(self):
-        result = [
+        return [
             sys.executable,
             self.twistd,
+            '-u', config.UserName,
+            '-g', config.GroupName,
             '-n', self.tapname,
             '-f', self.configFile,
             '-o', 'ProcessType=Slave',
             '-o', 'BindAddresses=%s' % (','.join(self.interfaces),),
+            '-o', 'BindHTTPPorts=%s' % (self.port,),
+            '-o', 'BindSSLPorts=%s' % (self.sslPort,),
             '-o', 'PIDFile=None',
             '-o', 'ErrorLogFile=None']
-        if config.UserName:
-            result.extend(('-u', config.UserName,))
-        if config.GroupName:
-            result.extend(('-g', config.GroupName,))
-        if self.port:
-            result.extend(('-o', 'BindHTTPPorts=%s' % (self.port,),))
-        if self.sslPort:
-            result.extend(('-o', 'BindSSLPorts=%s' % (self.sslPort,),))
-        return result
 
     def getHostLine(self, ssl=None):
         name = self.getName()
@@ -140,10 +127,8 @@
 
     for p in xrange(0, config.MultiProcess['ProcessCount']):
         if int(config.MultiProcess['ProcessCount']) > 1:
-            if port:
-                port += 1
-            if sslport:
-                sslport += 1
+            port += 1
+            sslport += 1
 
         process = TwistdSlaveProcess(config.Twisted['twistd'],
                                      self.tapname,
@@ -151,7 +136,7 @@
                                      bindAddress,
                                      port, sslport)
 
-        service.addProcess(process.getSafeName(),
+        service.addProcess(process.getName(),
                            process.getCommandLine(),
                            env=parentEnv)
 
@@ -178,28 +163,29 @@
             httpListeners = []
             sslListeners = []
 
-            for port, listeners in ((config.HTTPPort, httpListeners),
-                                     (config.SSLPort, sslListeners)):
-                listeners.append(listenTemplate % {
-                        'bindAddress': bindAddress,
-                        'port': port})
+            for ports, listeners in ((config.BindHTTPPorts, httpListeners),
+                                     (config.BindSSLPorts, sslListeners)):
+                for port in ports:
+                    listeners.append(listenTemplate % {
+                            'bindAddress': bindAddress,
+                            'port': port})
 
-            if config.HTTPPort:
+            if config.BindHTTPPorts:
                 services.append(serviceTemplate % {
                         'name': 'http',
                         'listeningInterfaces': '\n'.join(httpListeners),
                         'bindAddress': bindAddress,
                         'scheduler': scheduler_map[config.MultiProcess['LoadBalancer']['Scheduler']],
-                        'hosts': '\n      '.join(hosts)
+                        'hosts': '\n'.join(hosts)
                         })
 
-            if config.SSLPort:
+            if config.BindSSLPorts:
                 services.append(serviceTemplate % {
                         'name': 'https',
-                        'listeningInterfaces': '\n          '.join(sslListeners),
+                        'listeningInterfaces': '\n'.join(sslListeners),
                         'bindAddress': bindAddress,
                         'scheduler': scheduler_map[config.MultiProcess['LoadBalancer']['Scheduler']],
-                        'hosts': '\n      '.join(sslHosts),
+                        'hosts': '\n'.join(sslHosts),
                         })
 
         pdconfig = configTemplate % {

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070321/bbc54581/attachment.html


More information about the calendarserver-changes mailing list