Parece que você deve simplesmente escrever um pequeno script de processamento e usar o GNU Parallel para processamento paralelo:
Então, algo assim:
inotifywait -q -m -r -e CLOSE_WRITE --format %w%f my_dir |
parallel 'mv {} /tmp/processing/{/};myscript.sh /tmp/processing/{/} other_inputs; rm /tmp/processing/{/}'
Assista aos vídeos de introdução para saber mais: link
Editar:
É necessário que o myscript.sh possa lidar com arquivos de tamanho 0 (por exemplo, ignorá-los).
Se você pode evitar o touch
que você pode fazer:
inotifywait -q -m -r -e CLOSE_WRITE --format %w%f my_dir |
parallel myscript.sh {} other_inputs
Instalar o GNU Parallel é tão fácil quanto:
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel