Apache nifi 生成正好1个流文件

Apache nifi 生成正好1个流文件,apache-nifi,flowfile,Apache Nifi,Flowfile,我正在使用ApacheNIFI中的GenerateFlowFile处理器-当我激活它时,我希望处理器准确地创建1流文件 现在,我通过Python使用RESTAPI将状态更改为正在运行,等待0.5秒,然后将状态更改为已停止。这将导致1FlowFile被添加到队列中,并被添加到下一个处理器 我测试了一点,等待1.5秒给了我2流文件,2.5秒给了我3流文件-我猜处理器每运行一秒就会生成一个流文件 我如何确保生成的是准确的1Flowfile?上述方法显然取决于网络连接和往返时间。最坏情况:在我等待时连接

我正在使用ApacheNIFI中的
GenerateFlowFile
处理器-当我激活它时,我希望处理器准确地创建
1
流文件

现在,我通过Python使用RESTAPI将状态更改为
正在运行
,等待
0.5秒,然后将状态更改为
已停止
。这将导致
1
FlowFile被添加到队列中,并被添加到下一个处理器

我测试了一点,等待
1.5
秒给了我
2
流文件,
2.5
秒给了我
3
流文件-我猜处理器每运行一秒就会生成一个流文件

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

我当前的配置是:

设置:

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

您需要将GenerateFlowFile标记为仅主节点(假设您有多个节点),以确保每个节点不生成自己的流文件

将调度设置为Timer,并将运行调度设置为604800(1周)-这意味着即使您让处理器保持运行,它也只会每周运行一次-如果脚本无法连接以通知处理器停止,您应该有足够的时间修复连接问题


将并发性保持在1。

惊人。很简单-谢谢;)