Beispiel #1
0
    def __init__(self, executor, datastreammanager, config):
        self.config = config
        self.recommendation_target = config.recommendation_target
        self.evaluation_result_target = '/tmp/evaluation_result'
        self.executor = executor
        self.datastreammanager = datastreammanager

        if config.computing_environment_address.startswith("tcp://"):
            self.comp_env_proxy = ZmqComputingEnvironmentProxy(
                config.computing_environment_address)
        elif config.computing_environment_address.startswith("http://"):
            self.comp_env_proxy = HttpComputingEnvironmentProxy(
                config.computing_environment_address)
        else:
            raise "Unrecognized computing environment address."

        self.reco_manager_socket = zmq.Context().socket(zmq.REP)
        self.reco_manager_socket.bind('tcp://*:%s' %
                                      self.executor.orchestrator_port)

        self.reco_managers_by_name = self.create_recommendation_managers(
            self.config.recommendation_request_thread_count)