ftp下载完成后,Nifi通知/等待通知另一个处理器链

时间:2019-01-09 15:05:38

标签: ftp apache-nifi dataflow

Nifi Structure

我正尝试从结构如下的ftp服务器获取数据流: FolderA-> File1,File2,... File28 文件夹B-> File1,File2,... File28 文件夹C-> File1,File2,... File28 这些文件定期每2小时一次更新。所有下载完成后,每2小时我要编写一个标志文件,该文件实际上已完成。如果不是全部都及时更新,至少要更新一次(即10分钟后),我仍然想编写一个标志文件,该文件由其他流程链占用,然后必须处理丢失的数据。每个文件夹都需要一个标志文件:FolderA.flag,FolderB.flag ....

问题是我还不太了解通知和等待的工作原理。我想在文件夹中的第一个文件更新后立即放入新的Flowfile。因此,我在右侧的文件中添加了一个名为“ FolderName”的属性。如果将等待节点连接到新属性的成功,则每个文件夹将获得28个文件进入等待队列。但是我只想要一个。那就是为什么我在行驶侧生成一个新的流文件的原因(实际上,我希望尽可能取消该节点,并将等待节点连接到右侧链,因为我不知道服务器上有哪些文件夹)

在通知和等待中,“释放信号标识符”均设置为“ FolderName”。我不知道要为“信号计数器名称”设置什么,而且它按我的意愿无法正常工作。 当前的行为是,每次触发GenerateFlowFile时,等待节点并不真正等待,而是在右侧成功运行一次后直接继续并触发标志文件。我是否需要重置触发器计数(不是“已消耗”吗?) 如何正确连接双方?

enter image description here

这是一个文件夹经过后我的缓存的图片。为什么输入次数是28次而不是最新次数?这也确实触发了等待节点。 (注意:我目前正在测试中,已将其指定为确切地将wait / notify触发器命名为FolderName,并且实际上仅在ListFTP中使用一个特定的文件夹以更好地进行调试) 但是等待节点现在总是被触发。由于缓存的实体没有过期或删除。我想我必须手动删除它?

0 个答案:

没有答案