Thanks, Andy. I guess point 2, "the processor has no in-coming
connections", would answer this, but I'll annotate too--it's good
"documentation" to have the annotation.
On 06/08/2017 05:03 PM, Andy LoPresto wrote:
Russell,
My understanding is that onTrigger() will be called based on the
scheduling of the processor, regardless of if there is an incoming
flowfile. A couple of examples support this line of thought — “source”
processors like GetFile, GenerateFlowFile, etc. run according to their
schedule even though they will never receive a flowfile. Similarly, in
ExecuteScript, the first task is always to attempt to retrieve a
flowfile from the session and then yield execution if none is returned.
We may be able to add more explicit information to the Developer
Guide, but I would suggest looking at Performing the Work [1] and When
Processors Are Triggered [2] as they cover this topic. It seems in
your case, your processor will either have no incoming connections, or
you’ll need to add the @TriggerWhenEmpty annotation to your processor.
[1]
https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#performing-the-work
[2]
https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#when-processors-are-triggered
Andy LoPresto
[email protected] <mailto:[email protected]>
/[email protected] <mailto:[email protected]>/
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4 BACE 3C6E F65B 2F7D EF69
On Jun 8, 2017, at 3:45 PM, Russell Bateman <[email protected]
<mailto:[email protected]>> wrote:
I'm doing something I've never done before in a custom processor. I'm
writing a processor that will awaken every /n/ minutes, query a
database, perform work as indicated by the result of the query, then
go back to sleep for /n/ minutes.
This processor will never expect a flowfile because it doesn't work
on flowfile attributes or content. It may, I think, emit some
flowfiles downstream.
Will onTrigger()be called without a flowfile? That point seems
unclear in the Developer Guide. Or is there some other lifecycle,
like @OnScheduledthat I should expect to use for this?
Thanks,
Russ