def __init__(self, rep_addresses=None, pub_addresses=None, name='obci_server'): self.experiments = {} self.exp_process_supervisors = {} self._nearby_servers = net.DNS() super(OBCIServer, self).__init__(None, rep_addresses, pub_addresses, name) self.machine = socket.gethostname() self.rep_port = int(net.server_rep_port()) self.pub_port = int(net.server_pub_port()) bcast_port = int(net.server_bcast_port()) self._nearby_servers.logger = self.logger self._bcast_server = threading.Thread( target=broadcast_server, args=[self.uuid, self.rep_port, self.pub_port, bcast_port]) self._bcast_server.daemon = True self._bcast_server.start() self._nearby_updater = threading.Thread( target=update_nearby_servers, args=[self._nearby_servers, bcast_port, self.ctx, self._push_addr]) self._nearby_updater.daemon = True self._nearby_updater.start() self.subprocess_mgr = SubprocessMonitor(self.ctx, self.uuid, logger=self.logger)
def __init__(self, server_addresses, zmq_context=None): self.ctx = zmq_context if zmq_context else zmq.Context() self.server_addresses = server_addresses self.server_req_socket = None self.init_server_socket(server_addresses) #self = zmq.Poller() #self.register(self.server_req_socket, zmq.POLLIN) self.poller = PollingObject() self.mtool = OBCIMessageTool(message_templates) self.dns = net.DNS()
def __init__(self, sandbox_dir, source_addresses=None, source_pub_addresses=None, rep_addresses=None, pub_addresses=None, experiment_uuid='', name='obci_process_supervisor'): self.peers = {} self.status = launcher_tools.READY_TO_LAUNCH self.source_pub_addresses = source_pub_addresses self.machine = socket.gethostname() self.sandbox_dir = sandbox_dir if sandbox_dir else settings.DEFAULT_SANDBOX_DIR self.ctx = zmq.Context() self.mx_data = self.set_mx_data() self.env = self.peer_env(self.mx_data) self.launch_data = [] self.peer_order = [] self._running_peer_order = [] self._current_part = None self.__cfg_launch_info = None self.__cfg_morph = False self.experiment_uuid = experiment_uuid self.peers_to_launch = [] self.processes = {} self.restarting = [] self.rqs = 0 self._nearby_machines = net.DNS() self.test_count = 0 self.__cfg_lock = threading.RLock() super(OBCIProcessSupervisor, self).__init__( source_addresses=source_addresses, rep_addresses=rep_addresses, pub_addresses=pub_addresses, name=name) self.subprocess_mgr = SubprocessMonitor(self.ctx, self.uuid, logger=self.logger)