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
