Hi,

I have been doing some testing with ExecuteProcess processor to learn more 
about how Nifi processors work and perform I/O.  This has led to a couple of 
questions.


1)      Nifi API docs - are there API docs planned for what appear to be 
"internal" API's that are commonly used by processors?  (e.g., session, 
context, process(), run(), ... )?  The Developer Guide provides a lot of useful 
"conceptual" level information, but I haven't yet found an API Reference Guide


2)      Batching - in ExecuteProcess I see where the external process is 
launched, but it's unclear how "batching" occurs, whereby a series of FlowFiles 
is created.  On the surface, it appears that after the process is launched, 
there's a small wait that occurs based upon the specified batch time (e.g., "2 
millis"), and that after that a single FlowFile is created.  My testing 
confirms that multiple FlowFiles do, indeed, get created when batching is 
enabled.  Perhaps if the API's were documented it would be easier to understand 
(or I could spend more time in the debugger looking at stack traces, I suppose)


3)      External process and Stop command - with a long-running "batched" 
process, the external process runs and does not end for a very long time (by 
design). When I "stop" the processor, I was expecting the external process to 
be killed (also stop).  Is this a bug or is ExecuteProcess not intended to also 
stop the spawned processes?  (I found that I had to shut the entire Nifi 
service down to kill the spawned process - not good if an external process were 
to get hung up)


4)      How does one add a new menu command to a processor?  For example, if I 
wanted to add a "Cancel task" menu item to ExecuteProcess processor, how would 
that be accomplished?  I'm hoping there's any easy way to associate a "menu 
property" and callback to a processor (maybe that's an enhancement request)

Thanks!
Rick

Reply via email to