예제 #1
0
파일: test_mp_mq.py 프로젝트: Andelfin/cola
class Test(unittest.TestCase):


    def setUp(self):
        self.dir_ = tempfile.mkdtemp()
        self.addr = '127.0.0.1'
        self.addrs = [self.addr, ]
        
    def tearDown(self):
        try:
            self.mq.shutdown()
        finally:
            shutil.rmtree(self.dir_)


    def testMqProxy(self):
        self.mq = MessageQueue(self.dir_, None, self.addr, self.addrs,
                                  copies=0, n_priorities=1)
        self.proxy = MpMessageQueueClient(self.mq.new_connection('0'))
        
        try:
            test_obj = Url('http://qinxuye.me')
            self.proxy.put(test_obj, )
            self.assertEqual(self.proxy.get(), test_obj)
        finally:
            self.mq.shutdown()
예제 #2
0
class Test(unittest.TestCase):
    def setUp(self):
        self.dir_ = tempfile.mkdtemp()
        self.addr = '127.0.0.1'
        self.addrs = [
            self.addr,
        ]

    def tearDown(self):
        try:
            self.mq.shutdown()
        finally:
            shutil.rmtree(self.dir_)

    def testMqProxy(self):
        self.mq = MessageQueue(self.dir_,
                               None,
                               self.addr,
                               self.addrs,
                               copies=0,
                               n_priorities=1)
        self.proxy = MpMessageQueueClient(self.mq.new_connection('0'))

        try:
            test_obj = Url('http://qinxuye.me')
            self.proxy.put(test_obj, )
            self.assertEqual(self.proxy.get(), test_obj)
        finally:
            self.mq.shutdown()
예제 #3
0
 def testMqProxy(self):
     self.mq = MessageQueue(self.dir_, None, self.addr, self.addrs,
                               copies=0, n_priorities=1)
     self.proxy = MpMessageQueueClient(self.mq.new_connection('0'))
     
     try:
         test_obj = Url(u'http://qinxuye.me/三星')
         self.proxy.put(test_obj, )
         self.assertEqual(self.proxy.get(), test_obj)
         test_obj = u'三星'
         self.proxy.put(test_obj, )
         self.assertEqual(self.proxy.get(), test_obj)
     finally:
         self.mq.shutdown()
예제 #4
0
파일: test_mp_mq.py 프로젝트: Andelfin/cola
 def testMqProxy(self):
     self.mq = MessageQueue(self.dir_, None, self.addr, self.addrs,
                               copies=0, n_priorities=1)
     self.proxy = MpMessageQueueClient(self.mq.new_connection('0'))
     
     try:
         test_obj = Url('http://qinxuye.me')
         self.proxy.put(test_obj, )
         self.assertEqual(self.proxy.get(), test_obj)
     finally:
         self.mq.shutdown()
예제 #5
0
파일: __init__.py 프로젝트: zzzz123321/cola
def run_containers(n_containers,
                   n_instances,
                   working_dir,
                   job_def_path,
                   job_name,
                   env,
                   mq,
                   counter_server,
                   budget_server,
                   speed_server,
                   stopped,
                   nonsuspend,
                   idle_statuses,
                   block=False,
                   is_multi_process=False,
                   is_local=False,
                   master_ip=None,
                   offset=0):
    processes = []
    acc = offset * n_instances
    for container_id in range(n_containers):
        n_tasks = n_instances / n_containers
        if container_id < n_instances % n_containers:
            n_tasks += 1

        if not is_multi_process:
            mq_client = mq
        else:
            conn = mq.new_connection(container_id)
            mq_client = MpMessageQueueClient(conn)

        container = Container(container_id,
                              working_dir,
                              job_def_path,
                              job_name,
                              env,
                              mq_client,
                              counter_server,
                              budget_server,
                              speed_server,
                              stopped,
                              nonsuspend,
                              idle_statuses,
                              n_tasks=n_tasks,
                              is_local=is_local,
                              master_ip=master_ip,
                              task_start_id=acc)
        if is_multi_process:
            process = multiprocessing.Process(target=container.run,
                                              args=(True, ))
            process.start()
            processes.append(process)
        else:
            thread = threading.Thread(target=container.run, args=(True, ))
            thread.start()
            processes.append(thread)
        acc += n_tasks

    if block:
        [process.join() for process in processes]
    return processes