airflow安装在ec2上,它正在触发emr上的脚本。如果我在ui中使用“clear”选项,ui将显示具有关闭状态的任务,但我仍然可以看到任务在emr上运行。
我使用的是运行localexecutor,我想知道如何终止正在运行的任务。
我应该使用ui中的“clear”选项来停止正在运行的任务吗?或者使用clear任务以及一些代码更改
下面是我的代码
def execute_on_emr(cmd):
f = open(file,'r')
s = f.read()
keyfile = StringIO.StringIO(s)
mykey = paramiko.RSAKey.from_private_key(keyfile)
sshcon = paramiko.SSHClient()
sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy())
sshcon.connect(IP, username=username, pkey=mykey)
stdin, stdout, stderr = sshcon.exec_command(cmd)
logger.info("stdout ------>"+str(stdout.readlines()))
logger.info("Error--------->"+str(stderr.readlines()))
if (stdout.channel.recv_exit_status())!= 0:
logger.info("Error Return code not Zero:"+
str(stdout.channel.recv_exit_status()))
sys.exit(1)
Task = PythonOperator(
task_id='XXX',
python_callable=execute_on_emr,
op_kwargs={'cmd': 'spark-submit /hadoop/scripts.py'},
dag=dag)
我的问题是如何从airflow ui终止/停止任务,以便在emr上运行的任务也被终止。
提前谢谢。
你好,契丹
1条答案
按热度按时间rhfm7lfc1#
这是从最近合并到master的pr开始实现的。
如果你能从大师那里得到气流,我建议你试试。否则,发布1.10的工作正在进行中,它将包括这个特性。