我尝试触发 DAG 任务 3 次,如何使用 python 脚本来完成。
目前我的流程工作是
<块引用>dag = DAG('dag1', default_args=default_args, concurrency=1, max_active_runs=1, schedule_interval=无,catchup=False)
任务 = BashOperator( task_id='task1', bash_command='ssh "runJob.sh"', dag=dag)
有没有更好的方法来触发给定指定次数的作业?
答案 0 :(得分:0)
我假设您使用的是 Airflow 2,您可以使用以下命令来触发 DAG 运行。
airflow dags trigger [-h] [-c CONF] [-e EXEC_DATE] [-r RUN_ID] [-S SUBDIR] dag_id
您可以在 this command here 上阅读更多内容。
基于该命令,我们可以使用 subprocess
来运行它。
import subprocess
command = [
"airflow",
"dags",
"trigger",
"-e",
"2021-02-05 00:00:00",
"-r",
"manual__2021-02-05T00:00:00+00:00",
"my_dag",
]
for i in range(3):
process = subprocess.Popen(command, stdout=subprocess.PIPE)
output, error = process.communicate()