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"])
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())
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))