提问者:小点点

恰好生成1个Flowfile


我在Apache Nifi中使用GenerateFlowFile处理器-当我激活它时,我希望处理器准确地创建1Flowfile。

现在我通过Python使用RESTAPI将状态更改为RUNING,等待0.5秒并将状态更改为STOPPED。这导致1FlowFile被添加到下一个处理器的队列中。

我测试了一点,等待1.5秒给我2FlowFiles,2.5秒给我3FlowFiles-我猜处理器每秒运行生成一个Flowfile。

如何确保正在生成1Flowfile?上述方法显然取决于网络连接和往返时间。最坏的情况是:当我等待时连接断开,我无法再停止处理器,并且正在生成x个Flowfile。

我目前的配置是:

设置:

Yield duration: 1 sec
Penalty Duration: 30sec
Bulletin Level: WARN

调度:

Scheduling Strategy: CRON driven 
Concurrent Tasks: 1 
Run Schedule: * * * * * ?
Execution: All nodes
Run duration: 0ms 

属性:

File Size: 0B
Batch Size: 1
Data Format: Text
Unique FlowFiles: false
Custom Text: No value set
Character Set: UTF-8
Mime Type: No value set

共1个答案

匿名用户

您将希望仅将GenerateFlowFile标记为主节点(假设您有多个节点),以确保每个节点不会生成自己的FlowFile。

将调度设置为定时器并将运行计划调整为604800(1周)-这意味着即使您让处理器运行,它也只会每周运行一次-如果您的脚本无法连接以告诉处理器停止,这应该会给您足够的时间来修复连接问题。

将并发度保持在1。