コード例 #1
0
    def setUpClass(cls):
        print(f"The proxy unit test start!")
        # Initialize the Redis.
        redis_port = get_random_port()
        cls.redis_process = subprocess.Popen(["redis-server", "--port", str(redis_port), "--daemonize yes"])
        cls.redis_process.wait()

        # Initialize the proxies.
        cls.peers_number = 3
        q = multiprocessing.Queue()
        actor_process_list = []
        for i in range(cls.peers_number):
            actor_process_list.append(multiprocessing.Process(target=actor_init, args=(q, redis_port)))
        process_rejoin = multiprocessing.Process(target=fake_rejoin, args=(q, redis_port))

        for i in range(cls.peers_number):
            actor_process_list[i].start()
        process_rejoin.start()

        cls.master_proxy = Proxy(
            component_type="master",
            expected_peers={"actor": 3},
            redis_address=("localhost", redis_port),
            **PROXY_PARAMETER
        )

        cls.peers = cls.master_proxy.peers_name["actor"]
コード例 #2
0
    def setUpClass(cls):
        print(f"The dist decorator unit test start!")
        # Initialize the Redis.
        redis_port = get_random_port()
        cls.redis_process = subprocess.Popen(["redis-server", "--port", str(redis_port), "--daemonize yes"])
        cls.redis_process.wait()

        # Initialize the receiver.
        conditional_event = "sender:*:1"
        handler_dict = {conditional_event: handler_function}
        decorator_task = threading.Thread(target=lunch_receiver, args=(handler_dict, redis_port,))
        decorator_task.start()

        # Initialize the sender proxy.
        with ThreadPoolExecutor() as executor:
            sender_task = executor.submit(proxy_generator, "sender", redis_port)
            cls.sender_proxy = sender_task.result()
コード例 #3
0
ファイル: test_proxy.py プロジェクト: yumiaoGitHub/maro
    def setUpClass(cls):
        print(f"The proxy unit test start!")
        # Initialize the Redis
        redis_port = get_random_port()
        cls.redis_process = subprocess.Popen(["redis-server", "--port", str(redis_port), "--daemonize yes"])
        cls.redis_process.wait()

        # Initialize the proxies
        cls.worker_proxies = []
        proxy_type_list = ["master"] + ["worker"] * 5
        with ThreadPoolExecutor(max_workers=6) as executor:
            all_tasks = [executor.submit(proxy_generator, proxy_type, redis_port) for proxy_type in proxy_type_list]

            for task in as_completed(all_tasks):
                result = task.result()
                if "master" in result.name:
                    cls.master_proxy = result
                else:
                    cls.worker_proxies.append(result)