Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
def get_list_of_process_names(process_observatory: processMonitor):
    diag_control = diagControlProcess(process_observatory.data)
    return diag_control.get_list_of_process_names()