NiFi如何清除所有队列

Fél*_*ien 2 queue apache-nifi

我目前使用的是 NiFi 1.5.0(但它与以前的版本相同),我想知道是否有办法同时清除所有队列?

当处理器数量增加时,重置所有内容可能会很长。

(我已经知道如何清除单个队列: 如何清除 NiFi 队列?

我正在寻找使用 UI 或 API 的解决方案

提前致谢 !

Cha*_*son 5

我没有时间彻底测试这个,但它应该有效:

# In your linux shell - NiPyAPI is a Python2/3 SDK for the NiFi API
pip install nipyapi
python
# In Python
from nipyapi import config, canvas, nifi
# Get a flat list of all process groups
pgs = canvas.list_all_process_groups()
# get a flat list of all connections in all process groups
cons = []
for pg in pgs: cons += nifi.ProcessgroupsApi().get_connections(pg.id).connections
# Issue a drop order for every connection in every process group
for con in cons: nifi.FlowfilequeuesApi().create_drop_request(con.id)
Run Code Online (Sandbox Code Playgroud)

编辑:我继续实施它,因为它看起来很有用:https : //github.com/Chaffelson/nipyapi/issues/45

import nipyapi
pg = nipyapi.canvas.get_process_group('MyProcessGroup')
nipyapi.canvas.purge_process_group(pg, stop=True)
Run Code Online (Sandbox Code Playgroud)

停止选项将在清除之前取消计划进程组,只是为了更加方便