queue - NiFi如何清除所有队列

标签 queue apache-nifi

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

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

(我已经知道如何清除单个队列: How to clear NiFi queues? )

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

提前致谢!

最佳答案

我还没有时间彻底测试它,但它应该可以工作:

# 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)

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

import nipyapi
pg = nipyapi.canvas.get_process_group('MyProcessGroup')
nipyapi.canvas.purge_process_group(pg, stop=True)

停止选项将在清除进程组之前对其进行取消调度,只是为了更加方便

关于queue - NiFi如何清除所有队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48710410/

相关文章:

java - 队列接口(interface)困惑

azure - 配置nservicebus在azure上自动创建servicebus队列和错误队列

grails - 在Web应用程序中使用RabbitMQ,多个线程可以在同一队列上工作

wcf - 配置来自 Nifi 的 HTTP POST 请求

apache-nifi - NiFi : content_repository is full despite settings in the nifi.属性

hadoop - Hive Joins可以在Apache Nifi中实现吗?

PHP + MySQL 循环队列

c - 在c中测试空队列

mysql - 在 NiFi 中使用 ConvertRecord 处理 Null

hadoop - 如何在 Apache NiFi 中动态地将值从 executeSQL 传递到 SelectHiveQL