Пример #1
0
def run_demo(args):
    print("CWL-Airflow demo mode")
    asset_conf("demo")
    if args.auto:
        run_demo_auto(args)
    elif args.manual:
        run_demo_manual(args)
        logging.info(
            "To process submitted workflows run Airflow Scheduler separately")
    elif args.list:
        print("Available demo workflows:")
        for wf in get_demo_workflow():
            print("-", wf["workflow"]["name"])
    elif args.workflow:
        try:
            submit_job(
                get_updated_args(args,
                                 get_demo_workflow(args.workflow)[0],
                                 keep_uid=True,
                                 keep_output_folder=True))
            logging.info(
                "To process submitted workflows run Airflow Scheduler separately"
            )
        except IndexError:
            logging.warning(
                "{} is not found in the demo workflows list".format(
                    args.workflow))
    else:
        arg_parser().parse_known_args(["demo", "--help"])
Пример #2
0
def run_init(args):
    asset_conf("init")
    logging.info("Init cwl-airflow")
    update_config(args)
    create_folders()
    export_dags()
    logging.info("Init Airflow DB")
    with Mute():
        initdb(argparse.Namespace())
Пример #3
0
def submit_job(args):
    asset_conf()
    logging.info(
        "Load workflow\n- workflow: {workflow}\n- job:      {job}\n- uid:      {uid}"
        .format(**vars(args)))
    exit_if_unsupported_feature(args.workflow)
    export_job_file(args)
    if getattr(args, "run", None):
        logging.info("Run Airflow Scheduler")
        with Mute():
            add_run_info(args)
            scheduler(args)
        print(get_workflow_output(args.dag_id))