Ejemplo n.º 1
0
    def __init__(self, rootdir, start_port):
        self.rootdir = os.path.expanduser(rootdir)
        self.repodir = os.path.join(self.rootdir, 'repositories')
        self.builddir = os.path.join(self.rootdir, 'builds')
        self.releasedir = os.path.join(self.rootdir, 'releases')
        self.exportdir = os.path.join(self.rootdir, 'exports')
        self.logdir = os.path.join(self.rootdir, 'logs')
        self.piddir = os.path.join(self.rootdir, 'pids')
        self.start_port = start_port

        paths = [
            self.rootdir, self.repodir, self.builddir, self.releasedir,
            self.exportdir, self.logdir, self.piddir
        ]

        for path in paths:
            if not os.path.exists(path):
                mkpath(path)

        # Note that this means TinyservManager is a singleton for now...
        ProcessManager.init(self.piddir)

        self.projects = {}

        for reponame in os.listdir(self.repodir):
            self.projects[reponame] = Project(self, reponame)
Ejemplo n.º 2
0
 def remove_service(self, sm_config):
     print 'Removing', sm_config.config_name
     config_dir = self.processmgr.SERIAL_MUX_CONFIG_DIR
     # remove daemon/service
     self.processmgr.remove(sm_config.config_name)
     self.model.remove(sm_config.config_name)
     # remove config
     ProcessManager.remove_config(config_dir, sm_config.config_name)
     # update UI
     self.ui.update(self.model)
Ejemplo n.º 3
0
 def create_service(self):
     config_dir = self.processmgr.SERIAL_MUX_CONFIG_DIR
     # create config
     config_name = SerialMuxConfigs.find_available_name(config_dir)
     self.model.add(config_name)
     ProcessManager.create_config(config_dir, config_name)
     # create daemon/service
     self.processmgr.create(config_name)
     # update UI
     self.ui.update(self.model)
Ejemplo n.º 4
0
class ExplorerManager(threading.Thread):

    applications_dict = {}
    
    def __init__(self):
        threading.Thread.__init__(self)
        self.processManager = ProcessManager()
        self.path = None
        #win32gui.SystemParametersInfo(win32con.SPI_SETFOREGROUNDLOCKTIMEOUT, 0, win32con.SPIF_SENDWININICHANGE | win32con.SPIF_UPDATEINIFILE)


    def winEnumHandler( self, hwnd, ctx ):
        if win32gui.IsWindowVisible( hwnd ):
            # get the proccessid from the windowhandle
            processID = win32process.GetWindowThreadProcessId(hwnd)[1]
            processName =  self.processManager.EnumProcesses(processID)
            windowTitle = win32gui.GetWindowText( hwnd )
            if processName and processName.lower() == APPLICATION_NAME and self.path in windowTitle:
                if  processName.lower() in self.applications_dict.keys():
                    self.applications_dict[processName.lower()].append( windowTitle )
                else:
                    self.applications_dict[processName.lower()] = [ windowTitle ]


    def begin(self,folder):
        while True:
            self.applications_dict.clear()
            self.path = folder.split('\\')[-1]
            win32gui.EnumWindows( self.winEnumHandler, None )
            #print '-'*78
            if len(self.applications_dict) == 1:
                print self.applications_dict
                return "folder open"
def RunBurnin(ModelType,modelvals,modelPopNames,resultsName,PopulationParameters,DiseaseParameters,endTime,mprandomseed,stepLength=1,writefolder='',startDate=datetime(2020,2,1),fitdates=[],hospitalizations=[],deaths=[],cases=[],fitper=.3,FolderContainer='',saveRun=False,historyData={},SavedRegionFolder=ParameterSet.SavedRegionFolder,burnin=True,vaccinationdata={}):
    
    if saveRun:
        if not os.path.exists(os.path.join(SavedRegionFolder,FolderContainer)):
            os.makedirs(os.path.join(SavedRegionFolder,FolderContainer))
            
    cleanUp(modelPopNames)
        
    print("RunBurnin: TransProb_AH Len:",len(DiseaseParameters['TransProb_AH']))
    PopulationData, GlobalInteractionMatrix, HospitalTransitionRate, HospitalNames, GlobalLocations, LocationImportationRisk = modelSetup(ModelType,modelvals,PopulationParameters,DiseaseParameters)
    
    ParameterVals = PopulationParameters
    ParameterVals.update(DiseaseParameters)
    
    RegionalList, timeRange, fitinfo = ProcessManager.RunModel(GlobalLocations, GlobalInteractionMatrix, HospitalTransitionRate,LocationImportationRisk,PopulationParameters,DiseaseParameters,endTime,resultsName,mprandomseed,startDate=startDate,modelPopNames=modelPopNames,fitdates=fitdates,hospitalizations=hospitalizations,deaths=deaths,cases=cases,fitper=fitper,burnin=burnin,FolderContainer=FolderContainer,saveRun=saveRun,historyData=historyData,SavedRegionFolder=SavedRegionFolder,vaccinationdata=vaccinationdata)

    if saveRun and fitinfo['fitted']:
        PostProcessing.WriteFitvals(resultsName,ModelType,fitinfo['SLSH'], fitinfo['SLSD'], fitinfo['SLSC'], fitinfo['avgperdiffhosp'], fitinfo['avgperdiffdeaths'], fitinfo['avgperdiffcases'],writefolder)
        Utils.PickleFileWrite(os.path.join(SavedRegionFolder,FolderContainer,"PopulationParameters.pickle"), PopulationParameters)
        Utils.PickleFileWrite(os.path.join(SavedRegionFolder,FolderContainer,"DiseaseParameters.pickle"), DiseaseParameters)
    else:
        if os.path.exists(os.path.join(SavedRegionFolder,FolderContainer)):
            os.rmdir(os.path.join(SavedRegionFolder,FolderContainer))
    cleanUp(modelPopNames,len(RegionalList))
    if os.path.exists(os.path.join(ParameterSet.ResultsFolder,"Results_"+resultsName+".pickle")):    
        os.remove(os.path.join(ParameterSet.ResultsFolder,"Results_"+resultsName+".pickle"))

    return fitinfo
Ejemplo n.º 6
0
    def _on_release_updated(self):
        if not self.release.get('cmdline'):
            return

        args = self.release['cmdline'].split()
        env = {}
        env.update({'PORT': str(self.release['port'])})
        env.update(self.release.get('env', {}))
        self.process = ProcessManager.Process(
            name=self.name,
            desc=self.release.get('description') or "project %s" % self.name,
            program=args[0],
            args=args[1:],
            workingDir=self.builddir,
            logFile=self.logfile,
            env=env)

        ProcessManager.set(self.process)
Ejemplo n.º 7
0
    def _on_release_updated(self):
        if not self.release.get('cmdline'):
            return
        
        args = self.release['cmdline'].split()
        env = {}
        env.update({'PORT': str(self.release['port'])})
        env.update(self.release.get('env', {}))
        self.process = ProcessManager.Process(
            name=self.name,
            desc=self.release.get('description') or "project %s" % self.name,
            program=args[0],
            args=args[1:],
            workingDir=self.builddir,
            logFile=self.logfile,
            env=env
            )

        ProcessManager.set(self.process)
Ejemplo n.º 8
0
def UserInterActivate():
    while (True):
        print(g_Title),
        iIndex = raw_input()
        if iIndex == '1':
            ProcessManager.Run()
        elif iIndex == '2':
            CollectData.AnalyzeLog()
        elif iIndex == "q":
            break
        else:
            print(u"输入参数不正确,请输入[1-3之内的数值]")
        print ""
Ejemplo n.º 9
0
	def __init__(self):
		self.objects = []
		self.running = 1

		self.checkArgs()

		self.config = init_config()

		init_pygame(self)
		init_opengl(self)

		if self.args['disableSound']:
			self.sound = None
		else:
			from sound import *
			self.sound = CSound(self, self.config.getint('Sound','Frequency'), True)

		self.player = Player(sound = self.sound)


		self.physics = Physics(self)
		self.octree = self.physics.octree
		self.graphics = Graphics(self)
		self.input = Input(self)

		self.objects.append(self.player)

		self.input_thread = InputThread(self.input)
		self.input_thread.start()

		self.networkThread = network.NetworkThread(self)

		self.process_manager = ProcessManager()
		self.state_manager = StateManager()
		self.trigger_manager = TriggerManager(self)

		self.menu = Menu(self)
		self.state_manager.push(self.quit, None)
		self.state_manager.push(self.menu.menu_is_open, None)
		self.state_manager.process(None)

		self.physics.updateObjects(self.objects)

		self.fpsTime = time.time()

		# TODO: Don't ask me, iam an alien
		self.trigger_manager.Ugly_Function_For_Loading_Main_Keytriggers()

		self.showPlayerList = False
Ejemplo n.º 10
0
    def __init__(self, rootdir, start_port):
        self.rootdir = os.path.expanduser(rootdir)
        self.repodir = os.path.join(self.rootdir, 'repositories')
        self.builddir = os.path.join(self.rootdir, 'builds')
        self.releasedir = os.path.join(self.rootdir, 'releases')
        self.exportdir = os.path.join(self.rootdir, 'exports')
        self.logdir = os.path.join(self.rootdir, 'logs')
        self.piddir = os.path.join(self.rootdir, 'pids')
        self.start_port = start_port
        
        paths = [self.rootdir, self.repodir, self.builddir, self.releasedir,
                 self.exportdir, self.logdir, self.piddir]
        
        for path in paths:
            if not os.path.exists(path):
                mkpath(path)

        # Note that this means TinyservManager is a singleton for now...
        ProcessManager.init(self.piddir)
        
        self.projects = {}
        
        for reponame in os.listdir(self.repodir):
            self.projects[reponame] = Project(self, reponame)
def RunSavedRegionModelType(ModelType,modelvals,modelPopNames,resultsName,PopulationParameters,DiseaseParameters,endTime,mprandomseed,stepLength=1,writefolder='',startDate=datetime(2020,2,1),SavedRegionFolder='',numregions=-1,FolderContainer='',vaccinationdata={}):
    cleanUp(modelPopNames)
    ParameterVals = PopulationParameters
    ParameterVals.update(DiseaseParameters)
    
    PopulationData, GlobalInteractionMatrix, HospitalTransitionRate, HospitalNames, GlobalLocations, LocationImportationRisk = modelSetup(ModelType,modelvals,PopulationParameters,DiseaseParameters)
    
    RegionalList, timeRange, fitinfo = ProcessManager.RunModel(GlobalLocations, GlobalInteractionMatrix, HospitalTransitionRate,LocationImportationRisk,PopulationParameters,DiseaseParameters,endTime,resultsName,mprandomseed,startDate=startDate,modelPopNames=modelPopNames,SavedRegionFolder=SavedRegionFolder,numregions=numregions,FolderContainer=FolderContainer,vaccinationdata=vaccinationdata)
    
    if fitinfo['fitted']:
        PostProcessing.WriteFitvals(resultsName,ModelType,fitinfo['SLSH'], fitinfo['SLSD'], fitinfo['SLSC'], fitinfo['avgperdiffhosp'], fitinfo['avgperdiffdeaths'], fitinfo['avgperdiffcases'],writefolder)
        PostProcessing.WriteParameterVals(resultsName,ModelType,ParameterVals,writefolder)
        results = PostProcessing.CompileResults(resultsName,modelPopNames,RegionalList,timeRange)
        PostProcessing.WriteAggregatedResults(results,ModelType,resultsName,modelPopNames,RegionalList,HospitalNames,endTime,writefolder)    
    
    cleanUp(modelPopNames,len(RegionalList))
    if os.path.exists(os.path.join(ParameterSet.ResultsFolder,"Results_"+resultsName+".pickle")):    
        os.remove(os.path.join(ParameterSet.ResultsFolder,"Results_"+resultsName+".pickle"))

    return fitinfo
def RunDefaultModelType(ModelType,modelvals,modelPopNames,resultsName,PopulationParameters,DiseaseParameters,endTime,mprandomseed,stepLength=1,writefolder='',startDate=datetime(2020,2,1),fitdates=[],hospitalizations=[],deaths=[],cases=[],fitper=.3,StartInfected=-1,historyData={},vaccinationdata={}):
    
    cleanUp(modelPopNames)
    ParameterVals = PopulationParameters
    ParameterVals.update(DiseaseParameters)
    
    PopulationData, GlobalInteractionMatrix, HospitalTransitionRate, HospitalNames, GlobalLocations, LocationImportationRisk = modelSetup(ModelType,modelvals,PopulationParameters,DiseaseParameters)
    
    RegionalList, timeRange, fitinfo = ProcessManager.RunModel(GlobalLocations, GlobalInteractionMatrix, HospitalTransitionRate,LocationImportationRisk,PopulationParameters,DiseaseParameters,endTime,resultsName,mprandomseed,startDate=startDate,stepLength=1,numregions=-1,modelPopNames=modelPopNames,fitdates=fitdates,hospitalizations=hospitalizations,deaths=deaths,cases=cases,fitper=fitper,burnin=False,StartInfected=StartInfected,historyData=historyData,vaccinationdata=vaccinationdata)
    

    PostProcessing.WriteParameterVals(resultsName,ModelType,ParameterVals,writefolder)
    results = PostProcessing.CompileResults(resultsName,modelPopNames,RegionalList,timeRange)
    PostProcessing.WriteAggregatedResults(results,ModelType,resultsName,modelPopNames,RegionalList,HospitalNames,endTime,writefolder)    
    
    cleanUp(modelPopNames,len(RegionalList))
    if os.path.exists(os.path.join(ParameterSet.ResultsFolder,"Results_"+resultsName+".pickle")):    
        os.remove(os.path.join(ParameterSet.ResultsFolder,"Results_"+resultsName+".pickle"))

    return fitinfo
Ejemplo n.º 13
0
class CaveOfDanger:
	def __init__(self):
		self.objects = []
		self.running = 1

		self.checkArgs()

		self.config = init_config()

		init_pygame(self)
		init_opengl(self)

		if self.args['disableSound']:
			self.sound = None
		else:
			from sound import *
			self.sound = CSound(self, self.config.getint('Sound','Frequency'), True)

		self.player = Player(sound = self.sound)


		self.physics = Physics(self)
		self.octree = self.physics.octree
		self.graphics = Graphics(self)
		self.input = Input(self)

		self.objects.append(self.player)

		self.input_thread = InputThread(self.input)
		self.input_thread.start()

		self.networkThread = network.NetworkThread(self)

		self.process_manager = ProcessManager()
		self.state_manager = StateManager()
		self.trigger_manager = TriggerManager(self)

		self.menu = Menu(self)
		self.state_manager.push(self.quit, None)
		self.state_manager.push(self.menu.menu_is_open, None)
		self.state_manager.process(None)

		self.physics.updateObjects(self.objects)

		self.fpsTime = time.time()

		# TODO: Don't ask me, iam an alien
		self.trigger_manager.Ugly_Function_For_Loading_Main_Keytriggers()

		self.showPlayerList = False

	def checkArgs(self):
		self.args = {'disableWater': False,
				'disableSound': False,
				'host': None,
				'port': 30000}
		if sys.platform == "win32":
			self.args['disableSound'] = True

		if len(sys.argv) > 1:
			for index, arg in enumerate(sys.argv):
				if arg == "--help" or arg == "-h":
					print "Arguments: \n"\
							"	--nowater		Disable water\n"\
							"	--nosound		Disable sound\n"\
							"	--host			Connect to host\n"\
							"	--port			Port (Default: 30000)\n"
					sys.exit(0)
				elif arg == "--nowater":
					self.args['disableWater'] = True
				elif arg == "--nosound":
					self.args['disableSound'] = True
				elif arg == "--host":
					if not len(sys.argv) > index + 1:
						print "No host specified for --host"
						continue
					self.args['host'] = sys.argv[index + 1]
				elif arg == "--port":
					if not len(sys.argv) > index + 1:
						print "No port specified for --port"
						continue
					self.args['port'] = int(sys.argv[index + 1])

	def run(self):
		while self.running:
			self.state_manager.process(None)
			self.process_manager.process(None)
			#pygame.time.wait(60)

		del self.sound
		self.input.running = False
		self.networkThread.running = False
		#test_process()
		#test_states()

	def quit(self, caller, purpose):
		if purpose is "STOP_PURPOSE":
			print "quit stopping"
			self.running = 0
		elif purpose is "INIT_PURPOSE":
			pass
		elif purpose is "FRAME_PURPOSE":
			self.running = 0
		else:
			print "quit: no purpose"

	def runGame(self, caller, purpose):
		if purpose is "STOP_PURPOSE":
			print "game stopping"

		elif purpose is "INIT_PURPOSE":
			print "game starting"
			self.graphics.initGL()

			terrain = "data/model/terrain.obj"

			self.graphics.addSurface(0, terrain, "data/image/grass.jpg")

			"""
			self.octree.insertNode(self.octree.root, 100.0, self.octree.root, Player().data)
			self.octree.insertNode(self.octree.root, 100.0, self.octree.root, Player(position = (-10.0, 20.0, -20.0)).data)
			self.octree.insertNode(self.octree.root, 100.0, self.octree.root, Player(position = (-15.0, 20.0, -20.0)).data)
			self.octree.insertNode(self.octree.root, 100.0, self.octree.root, Player(position = (-20.0, 20.0, -20.0)).data)
			self.octree.insertNode(self.octree.root, 100.0, self.octree.root, Player(position = (-30.0, 20.0, -20.0)).data)
			self.octree.insertNode(self.octree.root, 100.0, self.octree.root, Player(position = (-35.0, 20.0, -20.0)).data)
			self.octree.insertNode(self.octree.root, 100.0, self.octree.root, Player(position = (-40.0, 20.0, -20.0)).data)
			"""

			self.graphics.loadStaticObject(0.0, 0.0, 0.0, "data/model/cave.obj", \
				"data/image/img2.png")

			if self.args['host'] != None:
				try:
					self.networkThread.addr = \
							(self.args['host'], self.args['port'])
					network.Connect(self.args['host'], self.args['port'])
					self.networkThread.start()
				except:
					traceback.print_exc()

			self.physics.lastTime = time.time()

			pygame.mouse.set_visible(0)
			pygame.event.set_grab(0)

			self.clock = pygame.time.Clock()

		elif purpose is "FRAME_PURPOSE":
			if sys.platform == "win32":
				self.input.handle_mouse()

			objects = self.physics.update()

			rel = self.input.yrot - self.player.rotated
			self.player.rotated += rel
			if not self.graphics.spectator:
					self.player.data.orientation = (
							self.player.data.orientation[0],
							(self.player.data.orientation[1] \
									- rel) % 360,
							self.player.data.orientation[2]
							)


			self.networkThread.addNewObjects()
			if time.time() - self.fpsTime >= 1.0:
				self.fpsTime = time.time()
				self.graphics.printFPS()


			#self.physics.octree.checkCollision(self.octree.root, self.player.data.position)
			#self.physics.handleCollision()

			self.physics.updateObjects(objects)
			#self.sound.Update_Sound(objects)
			self.graphics.draw(objects)


			time_passed = self.clock.tick()
			time_passed_seconds = time_passed / 1000.0

			distance_moved = time_passed_seconds * self.input.speed
			self.distance_moved = distance_moved

			# I pass the keys, it can figure out the time-triggers and position-triggers itself
			self.trigger_manager.Check_Triggers(self.input.keys)
Ejemplo n.º 14
0
def main():
    #receive to this IP + port
    tx_port = 7167 #TX on this port, RX on 7178 (port+1)
    rx_port = tx_port+1
    self_ip = whoAmI() #This needs to be THIS device's IP on the 192.168 subnet

    vehicle_id = 1

    #turn network messages into tokens that get sent to the right function
    interface_manager = ProcessManager.TokenInterfaceManager(rx_ip=self_ip, rx_port=tx_port)

    with open('routing.json') as json_file:
        data = json.load(json_file)

        print ( data['routing']['CAV1'] )

        interface_manager.add_route('CAV1', data['routing']['CAV1']+':'+str(rx_port)) # use the RX port
        interface_manager.add_route('CAV2', data['routing']['CAV2']+':'+str(rx_port)) # use the RX port
        interface_manager.add_route('CAM', data['routing']['CAM']+':'+str(rx_port)) # use the RX port
        interface_manager.add_route('RSU', data['routing']['RSU']+':'+str(rx_port)) # use the RX port

    r_queue = multiprocessing.Queue()

    #receive network interface
    rx_network = Network.TTNetwork(ip=self_ip, port=rx_port, msg_receiver=interface_manager.receiver_function)

    #wrapped function that needs to be synchronized
    local_fusion_fp = Fusion(interface_manager.send_token_queue, vehicle_id, r_queue)
    fusion_sync = WaitingMatching.InputSynchronizedFunction(Fusion.local_fusion, local_fusion_fp.input_queue)

    #wrapped function that needs to be synchronized
    actuation_fp = Actuation(interface_manager.send_token_queue, vehicle_id, r_queue)
    actuation_sync = WaitingMatching.InputSynchronizedFunction(Actuation.actuate, actuation_fp.input_queue, use_deadline=True)

    #register synchronization section with process/interface manager
    interface_manager.add_sync_process(fusion_sync.function_name, fusion_sync)
    interface_manager.add_sync_process(actuation_sync.function_name, actuation_sync)

    # Init the camera
    # Setup our various settings
    settings = camera_recognition.Settings()
    settings.darknetPath = '../darknet/'
    camSpecs = camera_recognition.CameraSpecifications()
    camSpecs.cameraHeight = .2
    camSpecs.cameraAdjustmentAngle = 0.0

    # Lidar settings
    pipeFromC= "/home/jetson/Projects/slamware/fifo_queues/fifopipefromc"
    pipeToC= "/home/jetson/Projects/slamware/fifo_queues/fifopipetoc"

    # Set the time to start 10 seconds from now and let it rip!
    start_time = time.time() + 10
    interval = .125
    
    cameraThread = multiprocessing.Process(target=sourceImagesThread, args=(settings, camSpecs, interface_manager.send_token_queue, start_time, interval))
    cameraThread.start()
    lidarThread = multiprocessing.Process(target=sourceLIDARThread, args=(pipeFromC, pipeToC, interface_manager.send_token_queue, start_time, interval))
    lidarThread.start()

    #need this to make sure the main process doesn't finish and carry everything into the abyss
    fusion_sync.proc.join()
    actuation_sync.proc.join() 
Ejemplo n.º 15
0
 def __init__(self, ui, model):
     self.ui = ui
     self.model = model
     self.processmgr = ProcessManager.GetProcessManager()
     self.ui.set_status(self.processmgr.get_serial_mux_version())
Ejemplo n.º 16
0
    sys.exit("Neither Nimbus services nor Nimbus web are enabled. "+
            "See the '%s' config file to adjust this setting." % CONFIG_PATH)

try:
    services_wait = config.getint('nimbussetup', 'services.wait')
except ConfigParser.NoOptionError:
    services_wait = 10

NIMBUS_RUN_DIR = os.path.join(NIMBUS_HOME, 'var/run/')
if not os.path.isdir(NIMBUS_RUN_DIR):
    try:
        os.mkdir(NIMBUS_RUN_DIR)
    except:
        sys.exit("Failed to create run directory: %s" % NIMBUS_RUN_DIR)

ProcessManager.init(dataDir = NIMBUS_RUN_DIR)

if services_enabled:
    NIMBUS_SERVICES_EXE = os.path.join(NIMBUS_HOME, 'libexec/run-services.sh')
    if not os.path.exists(NIMBUS_SERVICES_EXE):
        sys.exit("The services executable does not exist: " + 
                NIMBUS_SERVICES_EXE)
    ProcessManager.add( Process(
      name = "services",
      desc = "Nimbus services",
      program = NIMBUS_SERVICES_EXE,
      args = [],
      workingDir = NIMBUS_HOME,
      postStartDelay=services_wait
      ))
Ejemplo n.º 17
0
    sys.exit("Broker is not enabled. " +
             "See the '%s' config file to adjust this setting." % CONFIG_PATH)

try:
    services_wait = config.getint('nimbussetup', 'services.wait')
except ConfigParser.NoOptionError:
    services_wait = 10

NIMBUS_RUN_DIR = os.path.join(NIMBUS_HOME, 'var/run/')
if not os.path.isdir(NIMBUS_RUN_DIR):
    try:
        os.mkdir(NIMBUS_RUN_DIR)
    except:
        sys.exit("Failed to create run directory: %s" % NIMBUS_RUN_DIR)

ProcessManager.init(dataDir=NIMBUS_RUN_DIR)

if broker_enabled:
    NIMBUS_BROKER_EXE = os.path.join(NIMBUS_HOME, 'lib/run-broker.sh')
    if not os.path.exists(NIMBUS_BROKER_EXE):
        sys.exit("The broker executable does not exist: " + NIMBUS_BROKER_EXE)
    ProcessManager.add(
        Process(name="broker",
                desc="Nimbus Context Broker",
                program=NIMBUS_BROKER_EXE,
                args=[],
                workingDir=NIMBUS_HOME,
                postStartDelay=services_wait))

argv = sys.argv
if len(argv) == 2:
Ejemplo n.º 18
0
    sys.exit("Broker is not enabled. "+
            "See the '%s' config file to adjust this setting." % CONFIG_PATH)

try:
    services_wait = config.getint('nimbussetup', 'services.wait')
except ConfigParser.NoOptionError:
    services_wait = 10

NIMBUS_RUN_DIR = os.path.join(NIMBUS_HOME, 'var/run/')
if not os.path.isdir(NIMBUS_RUN_DIR):
    try:
        os.mkdir(NIMBUS_RUN_DIR)
    except:
        sys.exit("Failed to create run directory: %s" % NIMBUS_RUN_DIR)

ProcessManager.init(dataDir = NIMBUS_RUN_DIR)

if broker_enabled:
    NIMBUS_BROKER_EXE = os.path.join(NIMBUS_HOME, 'lib/run-broker.sh')
    if not os.path.exists(NIMBUS_BROKER_EXE):
        sys.exit("The broker executable does not exist: " + 
                NIMBUS_BROKER_EXE)
    ProcessManager.add( Process(
      name = "broker",
      desc = "Nimbus Context Broker",
      program = NIMBUS_BROKER_EXE,
      args = [],
      workingDir = NIMBUS_HOME,
      postStartDelay=services_wait
      ))
Ejemplo n.º 19
0
 def __init__(self):
     threading.Thread.__init__(self)
     self.processManager = ProcessManager()
     self.path = None
Ejemplo n.º 20
0
import ProcessManager

if __name__ == '__main__':
    processmanager = ProcessManager.Process_Controller()