def __init__(self, start_services=True): # Initialize server status state self.__server_status_list = {} mpi_server_rank_list = MPIEnvironment.mpi_server_rank_list() for rank in mpi_server_rank_list: self.__server_status_list[rank] = {} self.__server_status_list[rank]['rank'] = rank self.__server_status_list[rank]['processor'] = None self.__server_status_list[rank]['pid'] = None self.__server_status_list[rank]['busy'] = False self.__server_status_list[rank]['command'] = None self.__server_status_list[rank]['command_start_time'] = None self.__server_status_list[rank]['pong_pending'] = False self.__server_status_list[rank]['ping_time'] = None self.__server_status_list[rank]['pong_time'] = None self.__server_status_list[rank]['timeout'] = False # Initialize monitor service state self.__monitor_status_service_on = False self.__monitor_status_service_running = False self.__monitor_status_service_thread = None # Initialize ping status response handler service state self.__ping_status_response_handler_service_on = False self.__ping_status_response_handler_service_running = False self.__ping_status_response_handler_service_thread = None # Instantiate MPICommunicator reference self.__communicator = MPICommunicator() # Automatically start services if start_services: self.start_services()
def __init__(self, start_services=True): # Initialize status state dict self.__status = {} self.__status['rank'] = MPIEnvironment.mpi_processor_rank self.__status['processor'] = MPIEnvironment.hostname self.__status['pid'] = os.getpid() self.__status['busy'] = False self.__status['command'] = None self.__status['command_start_time'] = None self.__status['command_stop_time'] = None # Initialize ping status request handler service state self.__ping_status_request_handler_service_on = False self.__ping_status_request_handler_service_final_round = False self.__ping_status_request_handler_service_running = False self.__ping_status_request_handler_service_thread = None self.__last_ping_status_request_time = None self.__client_timeout = False # Instantiate MPICommunicator reference self.__communicator = MPICommunicator() # Automatically start services if start_services: self.start_services()
def __init__(self,start_services=False): # Initialize life cycle state # 0-> Services not started # 1-> Services started # 2-> Stop service signal sent self.__life_cycle_state = 0 # Initialize command request id counter and list self.__command_request_counter = 1 self.__command_request_list = {} self.__command_response_list = {} # Initialize command group response state self.__command_group_response_counter = 1 self.__command_group_response_list = {} # Initialize command response handler service state self.__command_response_handler_service_on = False self.__command_response_handler_service_running = False self.__command_response_handler_service_thread = None self.__command_response_handler_service_event_controller = threading.Event() self.__command_response_handler_service_event_controller.clear() # Initialize command request queue service state self.__command_request_queue = [] self.__command_request_queue_service_on = False self.__command_request_queue_service_running = False self.__command_request_queue_service_thread = None self.__command_request_queue_service_event_controller = threading.Event() self.__command_request_queue_service_event_controller.clear() # Setup a command request input queue to append the jobs # to be picked up by the command request queue service self.__command_request_input_queue = [] self.__command_request_input_queue_lock = threading.Lock() # Instantiate MPICommunicator reference self.__communicator = MPICommunicator() # Instantiate MPIMonitorClient reference self.__monitor_client = MPIMonitorClient(False) # Automatically start services if start_services: self.start_services() # Log mode self.__log_mode = 'unified' # Register exit handler # NOTE: It is not guaranteed that __del__() methods are called # for objects that still exist when the interpreter exits. atexit.register(self.stop_services,force_command_request_interruption=True)
def __init__(self,start_services=False): # Initialize command request handler service state self.__command_request_handler_service_on = False self.__command_request_handler_service_running = False self.__command_request_handler_service_thread = None # Instantiate MPICommunicator reference self.__communicator = MPICommunicator() # Instantiate MPIMonitorClient reference self.__monitor_server = MPIMonitorServer(False) # Initialize logfile descriptor self.__logfile_descriptor = open(casalog.logfile(), 'a') # Initialize virtual frame buffer state self.__virtual_frame_buffer_port = None self.__virtual_frame_buffer_process = None # Automatically start services if start_services: self.start_services()