Cluster modifications

This commit is contained in:
Mark Mine 2002-04-30 22:00:51 +00:00
parent 14b23efd42
commit b76d70668c
2 changed files with 11 additions and 11 deletions

View File

@ -6,6 +6,7 @@ from ClusterConfig import *
import DirectNotifyGlobal import DirectNotifyGlobal
import DirectObject import DirectObject
import Task import Task
import os
class ClusterClient(DirectObject.DirectObject): class ClusterClient(DirectObject.DirectObject):
notify = DirectNotifyGlobal.directNotify.newCategory("ClusterClient") notify = DirectNotifyGlobal.directNotify.newCategory("ClusterClient")
@ -13,27 +14,28 @@ class ClusterClient(DirectObject.DirectObject):
def __init__(self, configList, clusterSyncFlag): def __init__(self, configList, clusterSyncFlag):
# First start up servers using direct daemon # First start up servers using direct daemon
clusterDaemonClient = base.config.GetString( # What is the name of the client machine?
'cluster-daemon-client', 'localhost') clusterDaemonClient = os.popen('uname -n').read()
clusterDaemonClient.replace('\n', '')
# What daemon port are we using to communicate between client/servers
clusterDaemonPort = base.config.GetInt( clusterDaemonPort = base.config.GetInt(
'cluster-daemon-port', CLUSTER_DAEMON_PORT) 'cluster-daemon-port', CLUSTER_DAEMON_PORT)
# Create a daemon
self.daemon = DirectD() self.daemon = DirectD()
print 'LISTEN' # Start listening for the response
self.daemon.listenTo(clusterDaemonPort) self.daemon.listenTo(clusterDaemonPort)
# Contact server daemons and start up remote server application
for serverConfig in configList: for serverConfig in configList:
serverCommand = (SERVER_STARTUP_STRING % serverCommand = (SERVER_STARTUP_STRING %
(serverConfig.serverPort, (serverConfig.serverPort,
clusterSyncFlag, clusterSyncFlag,
clusterDaemonClient, clusterDaemonClient,
clusterDaemonPort)) clusterDaemonPort))
print 'BOOTSTRAP', serverCommand
self.daemon.clientReady(serverConfig.serverName, self.daemon.clientReady(serverConfig.serverName,
clusterDaemonPort, clusterDaemonPort,
serverCommand) serverCommand)
print 'WAITING'
if not self.daemon.waitForServers(len(configList)): if not self.daemon.waitForServers(len(configList)):
print 'ERROR' print 'Cluster Client, no response from servers'
print 'DONE'
self.qcm=QueuedConnectionManager() self.qcm=QueuedConnectionManager()
self.serverList = [] self.serverList = []
self.msgHandler = ClusterMsgHandler(ClusterClient.MGR_NUM, self.notify) self.msgHandler = ClusterMsgHandler(ClusterClient.MGR_NUM, self.notify)

View File

@ -21,8 +21,8 @@ class ClusterServer(DirectObject.DirectObject):
MSG_NUM = 2000000 MSG_NUM = 2000000
def __init__(self,cameraJig,camera): def __init__(self,cameraJig,camera):
global clusterServerPort, clusterSyncFlag, clusterDaemonClient, clusterDaemonPort global clusterServerPort, clusterSyncFlag
print clusterServerPort, clusterSyncFlag, clusterDaemonClient, clusterDaemonPort global clusterDaemonClient, clusterDaemonPort
# Store information about the cluster's camera # Store information about the cluster's camera
self.cameraJig = cameraJig self.cameraJig = cameraJig
self.camera = camera self.camera = camera
@ -52,7 +52,6 @@ class ClusterServer(DirectObject.DirectObject):
if clusterSyncFlag: if clusterSyncFlag:
self.startSwapCoordinator() self.startSwapCoordinator()
base.win.setSync(1) base.win.setSync(1)
print 'DAEMON'
# Send verification of startup to client # Send verification of startup to client
self.daemon = DirectD() self.daemon = DirectD()
# These must be passed in as bootstrap arguments and stored in # These must be passed in as bootstrap arguments and stored in
@ -65,7 +64,6 @@ class ClusterServer(DirectObject.DirectObject):
clusterDaemonPort clusterDaemonPort
except NameError: except NameError:
clusterDaemonPort = CLUSTER_DAEMON_PORT clusterDaemonPort = CLUSTER_DAEMON_PORT
print 'SERVER READY'
self.daemon.serverReady(clusterDaemonClient, clusterDaemonPort) self.daemon.serverReady(clusterDaemonClient, clusterDaemonPort)
def startListenerPollTask(self): def startListenerPollTask(self):