def main(sys_argv: typing.List[str]) -> None:
    'PV simulator execution entry point.\n\n    Parameters\n    ----------\n    sys_argv : list\n        contains the list of arguments passed to the CLI during its execution. The first argument contains the\n        executed script name.\n    '
    main_logger: typing.Optional[logging.Logger] = None
    try:
        must_exit_after_24h = os.getenv('MUST_EXIT_AFTER_24H', '0')
        must_exit_after_24h = (True if (must_exit_after_24h.isdecimal() and (int(must_exit_after_24h) == 1)) else False)
        main_logger = utils.initialize_loggers(current_dir_path)
        main_loop: MainLoop = MainLoop(constants.LOGGER_NAME, constants.RESULTS_LOGGER_NAME, current_dir_path, must_exit_after_24h, get_mq_receiver, get_pv_power_value_calculator, tests_modules_names_provider=get_test_modules_names)
        main_loop.handle_arguments(sys_argv)
    except KeyboardInterrupt:
        if (main_logger is not None):
            main_logger.exception('Required to abort:')
        else:
            import traceback
            traceback.print_exc()
    except Exception:
        if (main_logger is not None):
            main_logger.exception('Error:')
        else:
            import traceback
            traceback.print_exc()
PV simulator execution entry point.

Parameters
----------
sys_argv : list
    contains the list of arguments passed to the CLI during its execution. The first argument contains the
    executed script name.
def main(sys_argv: typing.List[str]) -> None:
    'PV simulator execution entry point.\n\n    Parameters\n    ----------\n    sys_argv : list\n        contains the list of arguments passed to the CLI during its execution. The first argument contains the\n        executed script name.\n    '
    main_logger: typing.Optional[logging.Logger] = None
    try:
        must_exit_after_24h = os.getenv('MUST_EXIT_AFTER_24H', '0')
        must_exit_after_24h = (True if (must_exit_after_24h.isdecimal() and (int(must_exit_after_24h) == 1)) else False)
        main_logger = utils.initialize_loggers(current_dir_path)
        main_loop: MainLoop = MainLoop(constants.LOGGER_NAME, constants.RESULTS_LOGGER_NAME, current_dir_path, must_exit_after_24h, get_mq_receiver, get_pv_power_value_calculator, tests_modules_names_provider=get_test_modules_names)
        main_loop.handle_arguments(sys_argv)
    except KeyboardInterrupt:
        if (main_logger is not None):
            main_logger.exception('Required to abort:')
        else:
            import traceback
            traceback.print_exc()
    except Exception:
        if (main_logger is not None):
            main_logger.exception('Error:')
        else:
            import traceback
            traceback.print_exc()