Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache nifi 运行nifi流一次,完成后通知我_Apache Nifi - Fatal编程技术网

Apache nifi 运行nifi流一次,完成后通知我

Apache nifi 运行nifi流一次,完成后通知我,apache-nifi,Apache Nifi,我在程序中使用rest api,我为convent a mongodb集合制作了一个处理器组,并将其转换为json文件: 我只想运行一次调度,所以我将“运行调度”设置为10000秒。然后,当数据流运行一次时,我将停止组,我制作了一个Notify处理器并添加了一个DistributedMapCacheService。但是Notify处理器的DistributedMapCacheClientService仅与nifi中的DistributedMapCacheService通信,它从来都不符合我的计划

我在程序中使用rest api,我为convent a mongodb集合制作了一个处理器组,并将其转换为json文件: 我只想运行一次调度,所以我将“运行调度”设置为10000秒。然后,当数据流运行一次时,我将停止组,我制作了一个Notify处理器并添加了一个DistributedMapCacheService。但是Notify处理器的DistributedMapCacheClientService仅与nifi中的DistributedMapCacheService通信,它从来都不符合我的计划

我尝试使用自己的套接字服务器,但只收到一条消息“nifi”,没有更多消息。
我的问题是:如果我只希望调度运行一次并停止它,我如何知道何时停止它?或者是否有其他方法来达到我的目的,比如检测json文件是否存在或使用增量数据(如果调度运行两次,数据将重复两次)?

正如@daggett所说,您可以以同步的方式执行此操作。您可以使用HandleHttpRequest作为触发器,并使用HandleHttpResponse来管理响应。 对于异步was,您有几个通知选项,如PutTCP、PostHTTP、GetHTTP、使用FTP、文件系统、XMPP或其他


如果调度运行两次,则复制的元素取决于您使用的处理器,其中一些元素的状态为“否”,其他元素的状态为“否”,但是,如果您面临重复元素的问题,您可以使用DetectDuplicate处理器。

您可以使用
HandleHttpRequest
启动流,而不是通过计时器启动流,并在流结束时(如果流运行得很快)使用
HandleHttpResponse
发送响应。如果流长,则最好使用
PutTCP
PostHTTP
GetHTTP
发送异步通知