ftp - Nifi 通知/等待在完成 ftp 下载后通知另一个处理器链
问题描述
我正在尝试从结构如下的 ftp 服务器获取数据流:FolderA -> File1, File2, ... File28FolderB -> File1, File2, ... File28FolderC -> File1, File2, .. .File28 这些文件每2小时一个一个定期更新。所有下载完成后每 2 小时我想编写一个实际完成的标志文件。如果不是所有的都及时更新,但至少有一个(10 分钟后的 iE),我仍然想编写一个标志文件,由其他进程链占用,然后必须处理丢失的数据。每个文件夹都需要一个标志文件:FolderA.flag、FolderB.flag....
问题是我不太明白 notify 和 wait 是如何工作的。我想在文件夹中的第一个文件更新后立即等待一个新的 Flowfile。因此,我在右侧的文件中放入了一个名为“FolderName”的属性。如果我将等待节点连接到新属性的成功,我会将每个文件夹的 28 个文件放入等待队列。但我只想要一个。这就是为什么我在乘车端生成一个新的流文件(如果可能的话,我实际上希望消除该节点并将等待节点连接到右侧链,因为我不知道服务器上有哪些文件夹)
“释放信号标识符”在通知和等待中都设置为“文件夹名称”。我不知道为“信号计数器名称”设置什么,而且它不像我想要的那样工作。当前的行为是,每次触发 GenerateFlowFile 时,等待节点并没有真正等待,而是在我在右侧成功运行后直接继续前进并触发标志文件。我是否必须重置触发计数(不是“消耗”吗?)如何正确连接双方?
这是一个文件夹运行后我的缓存图片。为什么有 28 次条目而不是最新计数的一次?这也会触发等待节点。(注意:我目前用于测试已指定将等待/通知触发器准确命名为 FolderName,并且实际上只使用 ListFTP 中的一个特定文件夹以更好地进行调试)但是现在总是触发等待节点。由于缓存的实体没有过期或删除。我想我必须手动删除它?
解决方案
推荐阅读
- r - 直前枢轴,pivot_wider 给出意想不到的结果
- node.js - 如何修复内存不足/最后几次 GC 的致命进程?
- svg - SVG 圆 描边 不透明度
- graphql - GraphQL 重定向客户端以更好地查询嵌套连接
- vaadin - vaadin 网格排序 bigDecimal 列
- javascript - useState 在添加到先前状态时返回一个对象
- c++ - C++20 是否阻止将临时参数作为参考参数传递?
- python - 洗牌中的乘积法
- python - 从 Parquet 加载 Dataframe 并计算 RAM 中的最大值
- regex - 正则表达式检查一个单词是否恰好在一行中出现了 3 次