[CalendarServer-changes] [6597] CalendarServer/branches/users/glyph/dont-start-postgres/ calendarserver/tap/caldav.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Nov 10 18:53:54 PST 2010
Revision: 6597
http://trac.macosforge.org/projects/calendarserver/changeset/6597
Author: glyph at apple.com
Date: 2010-11-10 18:53:50 -0800 (Wed, 10 Nov 2010)
Log Message:
-----------
Move slave-process initialization into a function (preparing to move it into its own service)
Modified Paths:
--------------
CalendarServer/branches/users/glyph/dont-start-postgres/calendarserver/tap/caldav.py
Modified: CalendarServer/branches/users/glyph/dont-start-postgres/calendarserver/tap/caldav.py
===================================================================
--- CalendarServer/branches/users/glyph/dont-start-postgres/calendarserver/tap/caldav.py 2010-11-11 02:53:30 UTC (rev 6596)
+++ CalendarServer/branches/users/glyph/dont-start-postgres/calendarserver/tap/caldav.py 2010-11-11 02:53:50 UTC (rev 6597)
@@ -113,6 +113,17 @@
gid = gidFromString(gid)
return (uid, gid)
+
+PARENT_ENVIRONMENT = {
+ "PATH": os.environ.get("PATH", ""),
+ "PYTHONPATH": os.environ.get("PYTHONPATH", ""),
+ "LD_LIBRARY_PATH": os.environ.get("LD_LIBRARY_PATH", ""),
+ "DYLD_LIBRARY_PATH": os.environ.get("DYLD_LIBRARY_PATH", ""),
+}
+
+if "KRB5_KTNAME" in os.environ:
+ PARENT_ENVIRONMENT["KRB5_KTNAME"] = os.environ["KRB5_KTNAME"]
+
class CalDAVStatisticsProtocol (Protocol):
def connectionMade(self):
@@ -822,15 +833,6 @@
else:
dispenser = None
- parentEnv = {
- "PATH": os.environ.get("PATH", ""),
- "PYTHONPATH": os.environ.get("PYTHONPATH", ""),
- "LD_LIBRARY_PATH": os.environ.get("LD_LIBRARY_PATH", ""),
- "DYLD_LIBRARY_PATH": os.environ.get("DYLD_LIBRARY_PATH", ""),
- }
- if "KRB5_KTNAME" in os.environ:
- parentEnv["KRB5_KTNAME"] = os.environ["KRB5_KTNAME"]
-
#
# Calculate the number of processes to spawn
#
@@ -886,24 +888,6 @@
sock = _openSocket(bindAddress, int(portNum))
inheritSSLFDs.append(sock.fileno())
- for p in xrange(0, config.MultiProcess.ProcessCount):
- if config.UseMetaFD:
- extraArgs = dict(metaSocket=cl.dispatcher.addSocket())
- else:
- extraArgs = dict(inheritFDs=inheritFDs,
- inheritSSLFDs=inheritSSLFDs)
- if dispenser is not None:
- extraArgs.update(ampSQLDispenser=dispenser)
- process = TwistdSlaveProcess(
- sys.argv[0],
- self.tapname,
- options["config"],
- p,
- config.BindAddresses,
- **extraArgs
- )
- monitor.addProcessObject(process, parentEnv)
-
for name, pool in config.Memcached.Pools.items():
if pool.ServerEnabled:
self.log_info("Adding memcached service for pool: %s" % (name,))
@@ -922,8 +906,14 @@
memcachedArgv.extend(config.Memcached.Options)
- monitor.addProcess('memcached-%s' % (name,), memcachedArgv, env=parentEnv)
+ monitor.addProcess('memcached-%s' % (name,), memcachedArgv,
+ env=PARENT_ENVIRONMENT)
+ self.addSlaveProcesses(
+ monitor, dispenser, cl.dispatcher, options["config"],
+ inheritFDs=inheritFDs, inheritSSLFDs=inheritSSLFDs
+ )
+
if (
config.Notifications.Enabled and
config.Notifications.InternalNotificationHost == "localhost"
@@ -944,7 +934,7 @@
"-f", options["config"],
))
monitor.addProcess("notifications", notificationsArgv,
- env=parentEnv)
+ env=PARENT_ENVIRONMENT)
if (
config.Scheduling.iMIP.Enabled and
@@ -966,7 +956,8 @@
"-f", options["config"],
))
- monitor.addProcess("mailgateway", mailGatewayArgv, env=parentEnv)
+ monitor.addProcess("mailgateway", mailGatewayArgv,
+ env=PARENT_ENVIRONMENT)
self.log_info("Adding task service")
taskArgv = [
@@ -983,7 +974,7 @@
"-f", options["config"],
))
- monitor.addProcess("caldav_task", taskArgv, env=parentEnv)
+ monitor.addProcess("caldav_task", taskArgv, env=PARENT_ENVIRONMENT)
stats = CalDAVStatisticsServer(logger)
@@ -996,6 +987,23 @@
return s
+ def addSlaveProcesses(self, monitor, dispenser, dispatcher, configPath,
+ inheritFDs=None, inheritSSLFDs=None):
+ for slaveNumber in xrange(0, config.MultiProcess.ProcessCount):
+ if config.UseMetaFD:
+ extraArgs = dict(metaSocket=dispatcher.addSocket())
+ else:
+ extraArgs = dict(inheritFDs=inheritFDs,
+ inheritSSLFDs=inheritSSLFDs)
+ if dispenser is not None:
+ extraArgs.update(ampSQLDispenser=dispenser)
+ process = TwistdSlaveProcess(
+ sys.argv[0], self.tapname, configPath, slaveNumber,
+ config.BindAddresses, **extraArgs
+ )
+ monitor.addProcessObject(process, PARENT_ENVIRONMENT)
+
+
def deleteStaleSocketFiles(self):
# Check all socket files we use.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20101110/b0a75c59/attachment.html>
More information about the calendarserver-changes
mailing list