Support Questions

Find answers, ask questions, and share your expertise

Does Nifi ExecuteStreamCommand make synchronous or asynchronous calls ?

I have an ExecuteStreamCommand Nifi processor that calls a python program with command line arguments. The python program gets flowfile from stdin and executes some operation on it and writes back the output to the stdout. Does ExecuteStreamCommand block the thread until python code finishes writing the output or it just issues the command in the background and releases the thread for other Nifi processors to use ?


It is synchronous... there is a thread executing the processor's onTrigger command, and a single call to onTrigger should execute your script and write the results to the flow file.