That may work.. Can you call ProcessContext.yield() anywhere with in the processor, or only at the end of the onTrigger()?
flowfile --> processor --> output I thought if you called the ProcessContext.yield() you were intending to end the the processor's responsibility portion and output.. On Thu, Aug 13, 2015 at 2:38 PM, Mark Payne <[email protected]> wrote: > Ryan, > > The down side to that approach is that you're tying up that thread from > the thread pool when you call sleep. > > Typically, in a situation like this, where you want to 'pause' processing > for a bit, you would call ProcessContext.yield() and then return. > This causes the framework not to trigger that processor for some period of > time (configurable in the Settings tab, default is 1 sec). > > Does this work for you? > > Thanks > -Mark > > > ---------------------------------------- > > Date: Thu, 13 Aug 2015 14:19:36 -0400 > > Subject: Threading in a NiFi Processor > > From: [email protected] > > To: [email protected] > > > > I have always stayed away from doing any threading inside a NiFi > processor. > > > > However, I recently came across a use-case where I'm calling a web > service > > from within a custom Nifi Processor and I don't want to overwhelm the web > > service. > > > > I'd like to instrument a sleep in the onTrigger() or process() method of > > about 1 second, or a configurable amount. > > > > Is there a pattern established for Nifi Processors to accomplish this > > nicely? > > > > Thanks, > > Ryan > >
