def METHOD_NAME():
    """Parse command line and initialize PUDL DB."""
    args = parse_command_line(sys.argv)
    # Display logged output from the PUDL package:
    pudl.logging_helpers.configure_root_logger(
        logfile=args.logfile, loglevel=args.loglevel
    )
    etl_settings = EtlSettings.from_yaml(args.settings_file)
    dataset_settings_config = etl_settings.datasets.dict()
    process_epacems = True
    if etl_settings.datasets.epacems is None:
        process_epacems = False
        # Dagster config expects values for the epacems settings even though
        # the CEMS assets will not be executed. Fill in the config dictionary
        # with default cems values. Replace this workaround once dagster pydantic
        # config classes are available.
        dataset_settings_config["epacems"] = pudl.settings.EpaCemsSettings().dict()
    pudl_etl_reconstructable_job = build_reconstructable_job(
        "pudl.cli.etl",
        "pudl_etl_job_factory",
        reconstructable_kwargs={
            "loglevel": args.loglevel,
            "logfile": args.logfile,
            "process_epacems": process_epacems,
        },
    )
    result = execute_job(
        pudl_etl_reconstructable_job,
        instance=DagsterInstance.get(),
        run_config={
            "execution": {
                "config": {
                    "multiprocess": {
                        "max_concurrent": int(args.max_concurrent),
                    },
                }
            },
            "resources": {
                "dataset_settings": {"config": dataset_settings_config},
                "datastore": {
                    "config": {
                        "sandbox": args.sandbox,
                        "gcs_cache_path": args.gcs_cache_path
                        if args.gcs_cache_path
                        else "",
                    },
                },
            },
        },
    )
    # Workaround to reliably getting full stack trace
    if not result.success:
        for event in result.all_events:
            if event.event_type_value == "STEP_FAILURE":
                raise Exception(event.event_specific_data.error)
    else:
        logger.info("ETL job completed successfully, publishing outputs.")
        for output_path in etl_settings.publish_destinations:
            logger.info(f"Publishing outputs to {output_path}")
            fs, _, _ = fsspec.get_fs_token_paths(output_path)
            fs.put(
                PudlPaths().output_dir,
                output_path,
                recursive=True,
            )