コード例 #1
0
ファイル: test_functions.py プロジェクト: zhengqz/cola
 def testCounter(self):
     self.serv = CounterServer(self.dir_, Settings(),
                               rpc_server=self.rpc_server)
     self.cli1 = CounterClient(self.serv)
     self.cli2 = CounterClient('localhost:%s'%self.port)
       
     try:
         self.cli1.global_inc('pages', 10)
         self.cli2.global_inc('pages', 2)
         self.assertEqual(self.cli1.get_global_inc('pages'), 10)
         self.assertEqual(self.cli2.get_global_inc('pages'), 2)
         self.assertEqual(self.serv.inc_counter.get('global', 'pages', 0), 0)
           
         self.cli1.sync()
         self.cli2.sync()
         self.assertEqual(self.cli1.get_global_inc('pages'), None)
         self.assertEqual(self.cli2.get_global_inc('pages'), None)
         self.assertEqual(self.serv.inc_counter.get('global', 'pages'), 12)
           
         self.cli1.local_inc(self.addr, 0, 'pages', 100)
         self.assertEqual(self.cli1.get_local_inc(self.addr, 0, 'pages'), 100)
         self.cli1.sync()
         self.assertEqual(self.serv.inc_counter.get('%s#%s'%(self.addr, 0), 'pages'), 100)
           
         self.cli1.global_acc('normal', 100)
         self.cli2.global_acc('normal', 'test')
         self.assertEqual(self.cli1.get_global_acc('normal'), [100,])
         self.assertEqual(self.cli2.get_global_acc('normal'), ['test',])
           
         self.cli1.sync()
         self.cli2.sync()
         self.assertEqual(self.cli1.get_global_acc('normal'), None)
         self.assertEqual(self.cli2.get_global_acc('normal'), None)
         self.assertEqual(self.serv.acc_counter.get('global', 'normal'), [100, 'test'])
           
         self.cli2.local_acc(self.addr, 1, 'normal', 100)
         self.assertEqual(self.cli2.get_local_acc(self.addr, 1, 'normal'), [100, ])
         self.cli2.sync()
         self.assertEqual(self.serv.acc_counter.get('%s#%s'%(self.addr, 1), 'normal'), [100, ])
     finally:
         self.serv.shutdown()
コード例 #2
0
ファイル: container.py プロジェクト: tmacmilan/cola
    def init(self):
        with self.lock:
            if self.inited: return

            self.log_file = os.path.join(self.working_dir, 'job.log')
            self.logger = self.logger or get_logger(name='cola_task',
                                                    filename=self.log_file,
                                                    server=self.master_ip)

            for i in range(self.n_tasks):
                self.counter_clients[i] = CounterClient(self.counter_server,
                                                        app_name=self.job_name)
                self.budget_clients[i] = BudgetApplyClient(
                    self.budget_server, app_name=self.job_name)
                self.speed_clients[i] = SpeedControlClient(
                    self.speed_server,
                    self.ip,
                    self.task_start_id + i,
                    app_name=self.job_name)
            self.init_tasks()
            self._init_counter_sync()
            self._init_idle_status_checker()

            self.inited = True