2016-09-30 62 views
2

我们正在NiFi中创建一些流程,并且可能会出现某些队列正在建立的情况,但由于某种原因,流量无法按预期工作。如何清除NiFi队列?

在一天结束时,我想清除队列,并以某种方式想自动化它。问题是我们如何从后端删除队列?有什么方法可以实现这一目标吗?

回答

5

除了Bryan提到的明确的“Drop Queue”功能之外,您可能还会感兴趣的其他功能还包括连接上的“Back Pressure”和“FlowFile Expiration”。这些允许您自动控制任何给定连接中的数据量。每种方法的简单解释如下,但有关更详细的解释,我会向您推荐Apache NiFi User Guide

背压:当队列达到一定的大小时,停止触发供给它的处理器。

FlowFile过期:一旦FlowFile在队列中花费了X个时间量,它将被丢弃。

+1

我正在寻找FlowFile过期类的东西,这解决了我的问题。 –

4

在Apache NiFi用户界面中,如果您右键单击某个队列,可以选择清空该队列。任何你可以在UI做的是通过REST服务支持,所以来看看的REST API文档:

https://nifi.apache.org/docs/nifi-docs/rest-api/index.html

具体一个POST到/ flowfile队列/ {ID} /落请求。

您还可以在使用应用程序查看在执行某些操作时对REST API进行的调用时使用Chrome和开放式开发人员工具。

+0

如果空队列以某种方式失败,导致无法删除队列,该怎么办 - 有没有办法强制停止队列? – serup