コード例 #1
0
    def setUp(self):
        self.logger = logging.getLogger()
        self.dispatcher = type("MscDispatcher", (object, ), {"_circuits": []})
        self.circuits = []
        for id in xrange(10):
            self.circuits.append(Circuit(id))

        self.starter = LoopingStarter(self.dispatcher, 0.2)
コード例 #2
0
ファイル: starter.py プロジェクト: AnatomicJC/mmc
class Test00_LoopingStart(unittest.TestCase):

    def setUp(self):
	self.logger = logging.getLogger()
        self.dispatcher = type("MscDispatcher", 
			      (object,),
			      {"_circuits": []}
			       )
	self.circuits = []
	for id in xrange(10):
	    self.circuits.append(Circuit(id))

	self.starter = LoopingStarter(self.dispatcher,
	                              0.2)


    def test01_start(self):
	"""Start of looping start """
            
	return self.starter.run(self.circuits)

    def test02_result(self):
	"""Checks if all circuits has been started"""
        result = all([c.started for c in self.dispatcher._circuits])
        self.assertTrue(result)
コード例 #3
0
ファイル: starter.py プロジェクト: pulse-project/pulse
class Test00_LoopingStart(unittest.TestCase):

    def setUp(self):
	self.logger = logging.getLogger()
        self.dispatcher = type("MscDispatcher",
			      (object,),
			      {"_circuits": []}
			       )
	self.circuits = []
	for id in xrange(10):
	    self.circuits.append(Circuit(id))

	self.starter = LoopingStarter(self.dispatcher,
	                              0.2)


    def test01_start(self):
	"""Start of looping start """

	return self.starter.run(self.circuits)

    def test02_result(self):
	"""Checks if all circuits has been started"""
        result = all([c.started for c in self.dispatcher._circuits])
        self.assertTrue(result)
コード例 #4
0
ファイル: starter.py プロジェクト: AnatomicJC/mmc
    def setUp(self):
	self.logger = logging.getLogger()
        self.dispatcher = type("MscDispatcher", 
			      (object,),
			      {"_circuits": []}
			       )
	self.circuits = []
	for id in xrange(10):
	    self.circuits.append(Circuit(id))

	self.starter = LoopingStarter(self.dispatcher,
	                              0.2)
コード例 #5
0
    def initialize(self, config):
        """ Initial setup """
        self.logger = logging.getLogger()
        self.config = config

        # provides the global statistics
        self.statistics = StatisticsProcessing(config)

        # stopped circuits tracker
        self.stopped_track = StoppedTracker()
	# started circuits tracker
        self.started_track = StartedTracker(self.config.max_command_time)

        # mainloop locker
        self.lock_start = DeferredLock()

        # bundles tracking container
        self.bundles = BundleReferences(config)

        # dispatching the batchs of start
	self.loop_starter = LoopingStarter(dispatcher=self,
			                   emitting_period=config.emitting_period)

        # launchers driving and slots detect
        self.groups = [net for (net, mask) in self.config.preferred_network]
        self.launchers_networks = dict([(launcher,[n[0] for n in net_and_mask])
                  for (launcher,net_and_mask) in self.config.launchers_networks.items()])
        self.logger.info("preferred networks by launchers: %s" % str(self.launchers_networks))
        self.launchers = self.config.launchers_uri
        # FIXME - main default launcher
        temp_launcher = self.launchers.keys()[0]

        default_slots = dict([(name, line["slots"]) \
                for (name, line) in self.config.launchers.items()])

        self.launchers_provider = RemoteCallProxy(self.config.launchers_uri,
                                                  default_slots,
                                                  temp_launcher)
        return self._get_all_slots()