[CalendarServer-changes] [1405]
CalendarServer/trunk/twistedcaldav/cluster.py
source_changes at macosforge.org
source_changes at macosforge.org
Tue Mar 20 13:07:24 PDT 2007
Revision: 1405
http://trac.macosforge.org/projects/calendarserver/changeset/1405
Author: cdaboo at apple.com
Date: 2007-03-20 13:07:24 -0700 (Tue, 20 Mar 2007)
Log Message:
-----------
Use the "normal" port values for setting up the pydir service - otherwise the pydir config file is empty. Tweak the config
file formatting a little. Fixes to allow port or sslport to be set to zero to disable that service in the child processes
as well as pydir.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/cluster.py
Modified: CalendarServer/trunk/twistedcaldav/cluster.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/cluster.py 2007-03-20 17:31:02 UTC (rev 1404)
+++ CalendarServer/trunk/twistedcaldav/cluster.py 2007-03-20 20:07:24 UTC (rev 1405)
@@ -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,20 +70,33 @@
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):
- return [
+ result = [
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()
@@ -127,8 +140,10 @@
for p in xrange(0, config.MultiProcess['ProcessCount']):
if int(config.MultiProcess['ProcessCount']) > 1:
- port += 1
- sslport += 1
+ if port:
+ port += 1
+ if sslport:
+ sslport += 1
process = TwistdSlaveProcess(config.Twisted['twistd'],
self.tapname,
@@ -136,7 +151,7 @@
bindAddress,
port, sslport)
- service.addProcess(process.getName(),
+ service.addProcess(process.getSafeName(),
process.getCommandLine(),
env=parentEnv)
@@ -163,29 +178,28 @@
httpListeners = []
sslListeners = []
- for ports, listeners in ((config.BindHTTPPorts, httpListeners),
- (config.BindSSLPorts, sslListeners)):
- for port in ports:
- listeners.append(listenTemplate % {
- 'bindAddress': bindAddress,
- 'port': port})
+ for port, listeners in ((config.HTTPPort, httpListeners),
+ (config.SSLPort, sslListeners)):
+ listeners.append(listenTemplate % {
+ 'bindAddress': bindAddress,
+ 'port': port})
- if config.BindHTTPPorts:
+ if config.HTTPPort:
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.BindSSLPorts:
+ if config.SSLPort:
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/20070320/628f008b/attachment.html
More information about the calendarserver-changes
mailing list