2024-04-27 03:04:46 发布
网友
我是空气流通新手,我们有三个任务。目前我们正在使用芹菜执行器,因为我们需要灵活性来运行单个任务。我们不想安排工作流,现在它将是手动触发。有没有什么方法可以使用Airflow UI来执行整个工作流(与我们在oozie中使用的相同)?
一次执行一个任务是件痛苦的事。
我将尝试一下,希望您可以调整您的代码来处理这个问题。
default_args = { 'owner': 'airflow', 'depends_on_past': False, 'start_date': datetime(2015, 6, 1), 'email': ['airflow@airflow.com'], 'email_on_failure': False, 'email_on_retry': False, 'retries': 1, 'retry_delay': timedelta(minutes=5), # 'queue': 'bash_queue', # 'pool': 'backfill', # 'priority_weight': 10, # 'end_date': datetime(2016, 1, 1), } dag = DAG('your_dag', default_args=default_args) #start of your tasks first_task = BashOperator(task_id='print_date', bash_command='python script1_name args', dag=dag) second_task = BashOperator(task_id='print_date', bash_command='python script2_name args', dag=dag) third_task = BashOperator(task_id='print_date', bash_command='python script_name args', dag=dag) #then set the dependencies second_task.set_upstream(first_task) third_task.set_upstream(second_task)
然后,当触发DAG时,所有三个任务都将按顺序运行。如果这些任务相互依赖,则可以从脚本中删除set_upstream()行。请注意,所有这些任务都必须在同一脚本中,才能使用一个命令运行。
set_upstream()
在Airflow 1.8及更高版本中,仪表板上的每个dag都有一个看起来像播放按钮的按钮:
在较旧版本的Airflow中,可以使用位于以下位置的对话框:
Browse -> Dag Runs -> Create
任何一个都应该从UI启动dag。
我将尝试一下,希望您可以调整您的代码来处理这个问题。
然后,当触发DAG时,所有三个任务都将按顺序运行。如果这些任务相互依赖,则可以从脚本中删除
set_upstream()
行。请注意,所有这些任务都必须在同一脚本中,才能使用一个命令运行。在Airflow 1.8及更高版本中,仪表板上的每个dag都有一个看起来像播放按钮的按钮:
在较旧版本的Airflow中,可以使用位于以下位置的对话框:
Browse -> Dag Runs -> Create
任何一个都应该从UI启动dag。
相关问题 更多 >
编程相关推荐