2016-09-30 87 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