def get_control_data_for_single_ordinary_method(data, method_name_and_process): method, process_name = method_name_and_process data_control = diagControlProcess(data) last_start = data_control.when_method_last_started(process_name, method) last_start_as_str = last_run_or_heartbeat_from_date_or_none(last_start) last_end = data_control.when_method_last_ended(process_name, method) last_end_as_str = last_run_or_heartbeat_from_date_or_none(last_end) currently_running = data_control.method_currently_running( process_name, method) data_for_method = dataForMethod(method_or_strategy=method, process_name=process_name, last_start=last_start_as_str, last_end=last_end_as_str, currently_running=str(currently_running)) return data_for_method
def _get_timer_class( data: dataBlob, process_name: str, entry ) -> timerClassWithFunction: method_name, object = entry function_object = getattr(object, method_name) diag_process = diagControlProcess(data) timer_parameters = diag_process.get_method_timer_parameters( process_name, method_name ) # we use this rather than data.log as it will be marked up with the correct type log = object.data.log timer_class = timerClassWithFunction( function_object, data=data, log=log, parameters=timer_parameters ) return timer_class
def _get_list_of_timer_functions( data, process_name, list_of_timer_names_and_functions): list_of_timer_functions = [] diag_process = diagControlProcess(data) for entry in list_of_timer_names_and_functions: method_name, object = entry function_object = getattr(object, method_name) run_on_completion_only = diag_process.run_on_completion_only( process_name, method_name ) log = object.data.log frequency_minutes = diag_process.frequency_for_process_and_method( process_name, method_name ) max_executions = diag_process.max_executions_for_process_and_method( process_name, method_name ) timer_class = timerClassWithFunction( method_name, function_object, data, process_name = process_name, frequency_minutes=frequency_minutes, max_executions=max_executions, run_on_completion_only=run_on_completion_only, log=log, ) list_of_timer_functions.append(timer_class) list_of_timer_functions = listOfTimerFunctions(list_of_timer_functions) return list_of_timer_functions
def get_methods_dict(data): diag_process_config = diagControlProcess(data) all_methods_dict = diag_process_config.get_process_configuration_for_item_name( "methods") return all_methods_dict
def get_control_config_dict_for_process_name(data, process_name): diag_process_config = diagControlProcess(data) data_for_process = diag_process_config.get_config_dict(process_name) return data_for_process
def get_control_for_process(process_observatory: processMonitor, process_name: str): diag_control = diagControlProcess(process_observatory.data) control = diag_control.get_control_for_process_name(process_name) return control
def get_list_of_process_names(process_observatory: processMonitor): diag_control = diagControlProcess(process_observatory.data) return diag_control.get_list_of_process_names()