I can’t imagine it taking that long to do that no, although environment may make a difference? If you can come up with a reproduction, it might be worth creating a jira issue with a reproduction template or something
> On Apr 20, 2021, at 07:09, James McMahon <[email protected]> wrote: > > I opted to call a bash script as Command Path. I felt the script approach > gave me a lot more flexibility to do just about anything I want without > worrying about syntax of arguments, quoting, etc etc in the > ExecuteScriptCommand itself. If anyone is interested this is my simple > example: > > ExecuteStreamCommand config: > Command Arguments ... /abc/def/${myDirectory} > Command Path ... ${scriptsBaseDir}/util/directoryCount.sh > Ignore STDIN ... false > Working Directory ... No value set > Argument Delimiter ... ; > Output Destination Attribute ... directoryCount > Max Attribute Length ... 20 > > My simple script: > > #!/bin/bash > echo `ls $1 | wc -l` > exit 0 > > Again this script is silly simple, but the point here is the framework > itself. You could work all sorts of magic and complex logic into the script > that you please, which otherwise might be more challenging to set up in the > ExecuteStreamCommand processor itself. > > One observation: it takes about 20-30 seconds for ExecuteStreamCommand to > take my incoming flowfile and produce the output. Could this extensive time > be due to a shell instance actually being created under the hood by > ExecuteStreamCommand? I suspect I'm missing something about this. > > Otto, thanks very much once again for the good suggestions. > > On Mon, Apr 19, 2021 at 9:30 PM Otto Fowler <[email protected] > <mailto:[email protected]>> wrote: > Piping is part of the shell I believe, so you can’t do it with arguments in > that way. > > If you make your shell the executable however, you should then be able to > pass things as separate > arguments. > > I would start with > > "/bin/sh” as the executable and arguments of > "-c” > “ls | ws -l” > > Or, you can write what you want to do in a .sh script file, and execute that. > > >> On Apr 19, 2021, at 20:15, James McMahon <[email protected] >> <mailto:[email protected]>> wrote: >> >> Good evening. I’d like to do a file count of ${directory}. I can use an >> ExecuteStreamCommand processor with that as Command Arguments and ls as >> Command Path. I’ll set Output Destination Attribute to be myFileCount, and >> will drop Max Attribute Length to ten. That will be ample characters for my >> counts, with plenty of margin. >> >> How though, do I incorporate the “| wc -l” (double quotes for clarity only, >> not part of the command) in the processor configuration so that I get the >> desired count, not the actual listing of files? I need this count to >> RouteOnAttribute as a next step. >> >> Thanks very much for your help. >
