Apache nifi 运行nifi流一次,完成后通知我
我在程序中使用rest api,我为convent a mongodb集合制作了一个处理器组,并将其转换为json文件: 我只想运行一次调度,所以我将“运行调度”设置为10000秒。然后,当数据流运行一次时,我将停止组,我制作了一个Notify处理器并添加了一个DistributedMapCacheService。但是Notify处理器的DistributedMapCacheClientService仅与nifi中的DistributedMapCacheService通信,它从来都不符合我的计划 我尝试使用自己的套接字服务器,但只收到一条消息“nifi”,没有更多消息。Apache nifi 运行nifi流一次,完成后通知我,apache-nifi,Apache Nifi,我在程序中使用rest api,我为convent a mongodb集合制作了一个处理器组,并将其转换为json文件: 我只想运行一次调度,所以我将“运行调度”设置为10000秒。然后,当数据流运行一次时,我将停止组,我制作了一个Notify处理器并添加了一个DistributedMapCacheService。但是Notify处理器的DistributedMapCacheClientService仅与nifi中的DistributedMapCacheService通信,它从来都不符合我的计划
我的问题是:如果我只希望调度运行一次并停止它,我如何知道何时停止它?或者是否有其他方法来达到我的目的,比如检测json文件是否存在或使用增量数据(如果调度运行两次,数据将重复两次)?正如@daggett所说,您可以以同步的方式执行此操作。您可以使用HandleHttpRequest作为触发器,并使用HandleHttpResponse来管理响应。 对于异步was,您有几个通知选项,如PutTCP、PostHTTP、GetHTTP、使用FTP、文件系统、XMPP或其他
如果调度运行两次,则复制的元素取决于您使用的处理器,其中一些元素的状态为“否”,其他元素的状态为“否”,但是,如果您面临重复元素的问题,您可以使用DetectDuplicate处理器。您可以使用
HandleHttpRequest
启动流,而不是通过计时器启动流,并在流结束时(如果流运行得很快)使用HandleHttpResponse
发送响应。如果流长,则最好使用PutTCP
、PostHTTP
或GetHTTP
发送异步通知