There's an example template on the Example Dataflow Templates page [1] called Retry_Count_Loop.xml [2], not sure what components it uses though.
Regards, Matt [1] https://cwiki.apache.org/confluence/display/NIFI/Example+Dataflow+Templates [2] https://cwiki.apache.org/confluence/download/attachments/57904847/Retry_Count_Loop.xml?version=1&modificationDate=1433271239000&api=v2 On Mon, Mar 1, 2021 at 1:07 PM James McMahon <jsmcmah...@gmail.com> wrote: > > Any recommended examples of successful DistributedMapCache implementations? > > On Fri, Feb 26, 2021 at 11:30 AM Andrew Grande <apere...@gmail.com> wrote: >> >> I saw it several times and I have a strong conviction this is an >> anti-pattern. A dataflow must not mess with start/stop state of processors >> or process groups. >> >> Instead, a flow is always running and one puts a conditional check to either >> not get the data in or reroute/deny it. >> >> If you need to coordinate between processors, use wait/notify. >> >> If you need to coordinate across nodes, consider DistributedMapCache with a >> variety of implementations. >> >> Finally, can use external stores directly if need to coordinate with other >> systems. >> >> These become part of the flow design. >> >> Andrew >> >> On Fri, Feb 26, 2021, 7:42 AM Tomislav Novosel >> <tomislav.novo...@clearpeaks.com> wrote: >>> >>> Hi guys, >>> >>> >>> >>> I want to stop the processor after exceeding maximum number of retries. >>> >>> For that I'm using RetryFlowFile processor, after 5 times of retry, it >>> routes >>> >>> flowfile to retries_exceeded. >>> >>> >>> >>> When that kicks in, I want to stop the processor which was retried 5 times. >>> >>> >>> >>> What is the best approach? I have few ones: >>> >>> >>> >>> Execute shell script which sends request to nifi-api to set processor state >>> to STOPPED >>> Put InvokeHTTP processor to send request >>> >>> >>> >>> The downside is, what if processor-id changes, e.g. deploying to another >>> env or nifi restart, not sure about that. >>> >>> Also, it is nifi cluster with authentication and SSL, so it complicates the >>> things. >>> >>> >>> >>> Maybe someone has much simpler approach, with backpressure or something. >>> >>> >>> >>> Regards, >>> >>> Tom