Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从UI停止/终止任务_Python_Apache_Hadoop_Airflow_Apache Airflow - Fatal编程技术网

Python 如何从UI停止/终止任务

Python 如何从UI停止/终止任务,python,apache,hadoop,airflow,apache-airflow,Python,Apache,Hadoop,Airflow,Apache Airflow,如何在UI上停止/终止正在运行的任务?我正在使用LocalExecutor。 即使我使用CeleryExecutor,如何终止/停止正在运行的任务?在DAGs屏幕中,您可以看到正在运行的任务: 在“最近的任务”上,按running图标,气流将自动运行搜索查询,其中Dag Id和状态的过滤器等于“running”,并在Task Instances(任务实例)屏幕上显示结果(您可以在Browse>Task Instances(浏览>任务实例)选项卡上手动查找) 在那里,您可以选择显示的任务并将其

如何在UI上停止/终止正在运行的任务?我正在使用
LocalExecutor

即使我使用
CeleryExecutor
,如何终止/停止正在运行的任务?

在DAGs屏幕中,您可以看到正在运行的任务:

在“最近的任务”上,按running图标,气流将自动运行搜索查询,其中Dag Id和状态的过滤器等于“running”,并在Task Instances(任务实例)屏幕上显示结果(您可以在Browse>Task Instances(浏览>任务实例)选项卡上手动查找)

在那里,您可以选择显示的任务并将其设置为其他状态或删除它们

请注意,如果DAG当前正在运行,气流计划程序将再次启动您删除的任务。因此,要么先通过更改DAG的状态来停止DAG,要么停止调度程序(如果您在测试环境中运行)

来自气流gitter(@villasv)

“不优雅,不。您可以停止dag(取消标记为正在运行)并清除 任务在UI中声明甚至删除它们。实际运行 executor中的任务不会停止,,但如果 executor意识到它不再位于数据库中


正如Pablo和Jorge所说,如果执行已经开始,暂停Dag不会停止任务的执行。不过,有一种方法可以从UI停止正在运行的任务,但这有点不方便

当任务处于运行状态时,您可以单击清除,这将调用job.kill()任务将被设置为关闭,并立即移动到上重试,因此任务将立即停止


显然,Airflow并不意味着您可以在
运行
状态下清除任务,但是由于Airflow没有禁用它,您也可以按照我的建议使用它。气流意味着
清除
失败
向上_用于重试
等一起使用。。。也许将来社区会使用这个bug(?)并通过“关闭任务”按钮将其作为一项功能来实现。

只要将任务设置为失败状态,就会停止正在运行的任务

[2019-09-17 23:53:28,040] {logging_mixin.py:82} INFO - [2019-09-17 23:53:28,039] {jobs.py:2695} WARNING - State of this instance has been externally set to failed. Taking the poison pill.
[2019-09-17 23:53:28,041] {helpers.py:240} INFO - Sending Signals.SIGTERM to GPID 20977

将任务设置为失败状态:

  • 单击任务

  • 将任务设置为“失败”状态

  • 所有后续任务(如果有)也将标记为失败:


  • 即使我停止计划程序并删除任务,它也不会重新启动任务吗?如果您停止计划程序并且不希望该任务再次运行,只需手动将任务设置为“成功”状态,而不是将其删除。如果您只是删除它,调度程序将再次运行该任务。我暂停了DAG并删除了记录,但进程仍在运行。有没有一种方法不仅可以根据执行器更改状态,还可以终止底层进程?这就是对我有效的解决方案。对于其他找到这篇文章的人,更多信息可以在这里找到:对我也有用。其他答案意味着不确定性,但您可以在更改状态后签入日志。这不是最佳计划,如果任务还有重试机会,它将继续重试。